8

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));    //输出1
console.log(arr.lastIndexOf(2));//输出4

5.reduce():让数组的前后两项进行某种计算,然后返回其值,并继续计算,不改变原数组,返回计算的最终结果,从数组的第二项开始遍历.后续了解reduce用法还是很厉害的,后面会总结一篇关于使用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,4
console.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 的新长度 4
arr;                        // arr = [1,2,3,4];
arr.unshift(0,0.5);         // 返回 arr 的新长度 6
arr;                        // 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 = [];

harden
56 声望1 粉丝

前端菜鸟


引用和评论

0 条评论