数组方法 总结

来源:互联网 发布:origin8怎么导入数据 编辑:程序博客网 时间:2024/06/14 08:15
ES5中新增的Array方法
1.forEach 
[].forEach(function(value, index, array) { //[]数组   value
   // ...
});
//更进一步,forEach除了接受一个必须的回调函数参数,还可以接受一个可选的上下文参数(改变回调函数里面的this指向)(第2个参数)
//和对比jQuery中的$.each方法:
$.each([], function(index, value, array) {
   // ...
});
2.map   //映射  原数组被“映射”成对应新数组
var data = [1, 2, 3, 4];
var arrayOfSquares = data.map(function (item) {
 return item * item;
});
alert(arrayOfSquares); // 1, 4, 9, 16


//callback需要有return值,如果没有,就像下面这样:
var data = [1, 2, 3, 4];
var arrayOfSquares = data.map(function() {});
arrayOfSquares.forEach(console.log);
3.filter  //过滤 返回过滤后的新数组
4.some  every//some至少一个合符条件  every每一个都 
5.indexOf  lastIndexOf//lastIndexOf的不同是从末尾开始匹配
7.reduce //接近于“迭代”、“递归(recursion)”
/*callback函数接受4个参数:之前值、当前值、索引值以及数组本身。initialValue参数可选,表示初始值。若指定,则当作最初使用的previous值;如果缺省,
则使用数组的第一个元素作为previous初始值,同时current往后排一位,相比有initialValue值少一次迭代。*/
var sum = [1, 2, 3, 4].reduce(function (previous, current, index, array) {
 return previous + current;
});
  console.log(sum); // 10
  8.reduceRight  //reduceRight跟reduce相比,用法类似:array.reduceRight(callback[, initialValue])实现上差异在于reduceRight是从数组的末尾开始实现
 数组方法
  1.push()  //方法可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。
        2.pop()     //方法则从数组末尾移除最后一项,减少数组的length 值,然后返回移除的项
    3.shift()   //方法从数组中取得了第一项,并删除该项
    4.unshift()  //方法数组的前端添加项;
  5.reverse()  //方法会反转数组项的顺序
  6.sort()  //方法按升序排列数组项——即最小的值位于最前面,最大的值排在最后面
  7.oncat()//方法可以基于当前数组中的所有项创建一个新数组,这个方法会先创建当前数组一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组
   8.slice()  /*它能够基于当前数组中的一或多个项创建一个新数组。slice()方法可以接受一或两个参数,即要返回项的起始和结束位置。
  在只有一个参数的情况下,slice()方法返回从该参数指定位置开始到当前数组末尾的所有项。如果有两个参数,该方法返回起始和
  结束位置之间的项,包括结束位置,但不包括结束位置的项。注意,slice()方法不会影响原始数组。*/
0 0
原创粉丝点击