您的位置:首页 > Web前端 > JavaScript

JS中针对数组操作总结:

2017-03-05 17:39 666 查看
一.数组的创建:

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         //false
a.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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: