1.关于数组中foreach() 、map()、filter()、reduce() 、 some()、every()的总结。

1.forEch():遍历数组,不改变原数组,只是遍历

var arr = [1,2,3,4];arr.forEach((item,index,arr) => {        console.log('当前值:'+item);   //依次输出1,2,3,4    console.log('当前值对应的索引:'+index); //依次输出0,1,2,3    console.log('原数组:'+arr);     //依次输出4个[1,2,3,4]})  

2.map():遍历数组,返回一个新数组,不改变原数组

var arr = [1,2,3,4];var arr2=arr.map((item,index,arr2) => {    if(item == 1) {        return item    }else {        return item+1    }})  console.log(arr2); //输出[1,3,4,5]

3.filter():遍历数组过滤符合条件的筛选,并返回一个新数组,不改变原数组

var arr = [1,2,3,4];var arr2=arr.filter((item,index,arr2) => {    return item > 2;})  console.log(arr2);//输出[3,4]

4.indexOf(),lastIndexOf():

var arr = [1,2,3,4,2];console.log(arr.indexOf(2));    //输出1console.log(arr.lastIndexOf(2));//输出4

5.reduce():让数组的前后两项进行某种计算,然后返回其值,并继续计算,不改变原数组,返回计算的最终结果,从数组的第二项开始遍历

var arr = [1,2,3,4];var arr2=arr.reduce((result,item,index,arr2) => {    console.log(result);    console.log(item);    return result * item;})                       //依次输出1,2,2,3,6,4console.log(arr2);       //输出24

6.some():遍历数组每一项,有一项返回true,则停止遍历,结果返回true。不改变原数组。
7.every():遍历数组每一项,每一项返回true,最终结果为true.有一项返回false,停止遍历,结果返回为false。不改变原数组。

2.push()、pop()和unshift()、shift()

这两组同为对数组的操作,并且会改变数组的本身的长度及内容。
不同的是 push()、pop() 是从数组的尾部进行增减,unshift()、shift() 是从数组的头部进行增减。
1.push()和unshift()
向数组的 尾部/头部 添加若干元素,并返回 数组的 新长度;

var arr = [1,2];arr.push(3,4);              //返回 arr 的新长度 4arr;                        // arr = [1,2,3,4];arr.unshift(0,0.5);         // 返回 arr 的新长度 6arr;                        // arr = [0,0.5,1,2,3,4];

2.pop()和shift();
从数组的 尾部/头部 删除1个元素(删且只删除1个),并返回 被删除的元素;空数组是继续删除,不报错,但返回undefined;

arr.pop();      //返回 4;arr ;          // arr = [0,0.5,1,2,3];arr.pop();      //返回 3;arr ;         // arr = [0,0.5,1,2];arr.shift();      // 返回 0 ;arr ;        // arr = [0.5,1,2]PS: pop()和shift() 不接受传参,即使传了参数也没什么卵用~~;arr.pop(3) ;           // 返回 2;永远返回最后一个;arr ;        // arr = [0.5,1];arr.shift(1);    // 返回 0.5; 永远返回第一个;arr ;        // arr = [1];arr.pop() ;     // 返回 1;arr ;        // arr = [];arr.shift()     // 返回 undefined;arr ;        // arr = [];