js数组的各种操作总结
今天,总结一下数组的一些简单和基本操作,并巩固我们的基础知识。
1。如何直接创建数组(以下数组)
创建数组有两种主要方法。第一个是使用数组构造函数,第二个是使用数组文字表示。
1。使用数组构造函数
如:var arr =新的数组();
如果预先知道数组的长度,还可以直接将长度传递给构造函数。
如:var arr =新阵(20);
如果知道数组中应该包含的项,则可以在构造数组时传递数组中应该包含的项。
如:var arr =新的数组(1,2,3);
2。使用数组文字表示
如:var arr = {三};
VaR arr2 = { };
两。数组的操作
1、堆栈法和队列法
1)堆栈操作的方式:高级返回原则——通过重数组尾部添加数据项,然后从数组尾部获取尾部数据项。
推()-是在数组的结尾添加一个数据项,这个方法的参数数可以被定制;
POP()——方法是在数组的结尾处获取一个数据项,它不需要传递任何参数;
如:
var颜色=新建(数组);创建数组
VaR计算= colors.push(红
console.log(计数);
红色
Color.push(棕色); / /到另一个
颜色{ 3 }
console.log(彩色);
console.log(color.push(蓝色));
Console.log((颜色。流行)); / /得到的最后一个
2)队列操作模式:先进先出原理——通过从数组头部插入数据并获取数据项来模拟实现。
推送();将数据项添加到数组的结尾;
移位();——获取数组头的数据信息;
Unshift();-移相反的是插入数据项信息到数组的头部;
无功colorarr =新(阵列); / /创建一个数组
ColorArr.push(红
console.log(colorarr);
VaR的长度= colorarr.push(蓝色);
console.log(长度);
var = colorarr.shift(项); / /第一
console.log(项目);
console.log(colorarr。长度);
2。检测与验证阵列
在平时的项目开发中,我们经常遇到判断一个对象是否是一个数组(函数中传递参数)的问题。如果我们判断一个对象是否是一个数组,那么有两种方法。
1)第一种方法
如果(价值instanseof阵列){
}
2)第二种方法
如果(Array.isArray(值)){
这种方法只使用} / /高的浏览器版本IE9浏览器运用小记:+,+ /铬
三.具体的编程实例
1)添加元素(在数组的结尾添加元素)
数组arr中Matsuo Kamotomo项目。不要修改数组arr直接,返回新数组。
方法1:将切片()和推()结合
功能追加(ARR,项){
Var arr.slice(newarr = 0); / /片(开始、结束)浅拷贝数组
NewArr.push(项);
返回newarr;
};
方法二:普通迭代复制
功能追加(ARR,项){
VaR的长度= arr.length,
newarr = { };
对于(var i = 0;i <长度;i + +){
NewArr.push(ARR {我});
}
NewArr.push(项);
返回newarr;
};
方法三:使用concat
功能追加(ARR,项){
返回arr.concat(项目);
}
2)添加一个元素(在任何位置添加一个元素)
在数组arr.指数添加元素项不修改数组arr直接,并把结果返回到一个新的阵列。
方法一:使用普通迭代复制
函数插入(ARR,项指标){
var newarr = { };
对于(var i = 0;i < arr.length;i++){
NewArr.push(ARR {我});
}
newarr.splice(指标、0项);
返回newarr;
}
方法二:切片()与剪接()的结合。
函数插入(ARR,项指标){
var newarr = arr.slice(0);
newarr.splice(指标、0项);
返回newarr;
}
方法三:结合concat()和()的剪接
函数插入(ARR,项指标){
var newarr = arr.concat();
newarr.splice(指标、0项);
返回newarr;
}
三.删除元素(删除数组的最后一个元素)
删除最后一个元素的数组arr。不修改数组arr直接,并把结果返回到一个新的阵列。
方法一:使用普通迭代复制
函数截断(ARR,项){
var newarr = { };
对于(var i = 0;i < arr.length-1;i++){
NewArr.push(ARR {我});
}
返回newarr;
}
方法:结合concat()和流行()
函数截断(ARR){
var newarr = arr.concat();
NewArr.pop();
返回newarr;
}
4。删除元素(删除数组的第一个元素)
删除数组的第一个元素改编不修改数组arr直接,并把结果返回到一个新的阵列。
方法一:使用普通迭代复制
功能降低(ARR){
var newarr = { };
对于(var i = 1;i < arr.length;i++){
NewArr.push(ARR {我});
}
返回newarr;
}
方法:结合concat()和()的转变
功能降低(ARR){
var newarr = arr.concat();
newarr.shift();
返回newarr;
}
方法三:切片()
功能降低(ARR){
返回arr.slice(1);
}
5。组合阵列
将数组arr1和数组arr2。不要修改数组arr直接,并把结果返回到一个新的阵列。
方法一:使用普通迭代复制
函数concat(arr1,arr2){
var newarr = { };
对于(var i = 0;i < arr1.length;i++){
NewArr.push(arr1 {我});
}
对于(var j = 0;J < arr2.length;j++){
NewArr.push(arr2 {,});
}
返回newarr;
}
方法二:concat()方法
函数concat(arr1,arr2){
返回arr1.concat(arr2);
}
方法三:将切片()和推()结合
函数concat(arr1,arr2){
var newarr = arr1.slice(0);
对于(var i = 0;i < arr2.length;i++){
NewArr.push(arr2 {我});
}
返回newarr;
}
5,删除数组中的元素
删除数组arr中等于项目的所有元素。不要修改数组arr直接,并把结果返回到一个新的阵列。
方法1:拼接()方法
功能删除(ARR,项){
var newarr = arr.slice(0);
对于(var i = 0;i < newarr.length;i++){
如果(newarr {我} = =项目){
newarr.splice(I,1);
}
}
返回newarr;
}
var arr = { 1,2,3,4,2 };
var项目= 2;
console.log(去除(ARR,项));
console.log(ARR);
方法二:推()方法
功能删除(ARR,项){
var newarr = { };
对于(var i = 0;i < arr.length;i++){
如果(ARR {我}!=项目){
Newarr.push(ARR {我});
}
}
返回newarr;
}
以上是本文的全部内容,希望能对您有所帮助,希望大家多多支持。