JS中针对数组操作总结:

来源:互联网 发布:打谱软件什么意思 编辑:程序博客网 时间:2024/05/19 16:02

一.数组的创建:
1. var aObj=new Array([Size]);
2. var aObj=new Array(‘a’,’b’,’c’);
3.var aObj=[‘a’,’b’,’c’]; (直接定义法)
注:var aObj=[,,]; //数组中有两个元素,undefined

二.数组的元素添加和删除:
1.栈操作:push()、pop()方法从数组末尾增加和减少一个或多个元素;
2.队列操作:shift()方法从数组首部移出一个元素,push()方法从数组末尾插入一个元素;
unshift()方法从数组的首部插入一个元素; 注:以上这些方法都会更改数组的长度。
3.使用delete运算符删除数组元素:

a=[1,2,3];delete a[1];   //数组a在索引1处不在有元素1 in a         //falsea.length       //3,不影响数组长度,即长度不变

(此方法删除数组元素类似于赋值为undefined)
三.数组的截取和合并:
1.截取: aObj.slice(start, [end]);
注:(参数说明:参数为索引,取前不取后;索引为负数,则从倒[后]数计;)

   var a=[1,2,3,4,5];     a.slice(3);   //[4,5]     a.slice(1,-1);  //[2,3,4]      a.slice(-3,-1);  //[3,4]

2.合并: aObj.concat(item1,item2,item3。。。);
该方法只合并元素,并入到一个数组中:

var a=[1,2,3];    a.concat([4,5],[6,7])    //[1,2,3,4,5,6,7]    a.concat(4,[5,[6,7]])    //[1,2,3,4,5,[6,7]]

四、数组元素的排序
aObj.reverse(); //反转元素(最前的排到最后、最后的排到最前),返回数组地址

aObj.sort(); //对数组元素排序,返回数组地址

aObj.sort(function(a,b){return a-b;})    //按照升序排列aObj.sort(function(a,b){return b-a;})    //按照降序排列

五、数组元素的字符串化
aObj.join(separator); //返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用 separator 隔开。

toLocaleString 、toString 、valueOf:可以看作是join的特殊用法,不常用。

六、将字符串变为数组:
使用split方法:

 str = “s-aaa-sss-eee-www”; targetArr = str.split(“-”);    //[‘s’,’aaa’,’sss’,’eee’,’www’]

七、强大的数组操作方法
splice( para1,para2,val1,val2… ):项数组中添加和删除项,para1表示起始位置索引,para2表示删除的个数,后面的变量表示要添加的项的值,注 意是从para1处开始删除和添加的。

    注意 : 参数为负数的问题,如果para1为负数,则会从数组结尾处计算,而para2为负数或0的话不会执行删除操作。

    var a=[1,2,3,4];    console.log(a.splice(-2,1,'a','b'));  //[3]    console.log(a);    //[1, 2, "a", "b", 4]    console.log(a.splice(1,2,[1,2],3));   //[2, "a"]    console.log(a);     //[1, [1,2], 3, "b", 4]

八.map方法:通过指定函数处理数组的每个元素,并返回处理后的数组。
    array.map(function(currentValue,index,arr), thisValue)
   
九.reduce()方法:接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。 reduce() 对于空数组是不会执行回调函数的。
十.every()和some()方法的使用。
fill() 方法用于将一个固定值替换数组的元素。
array.fill(value, start, end)

0 0