美文网首页
数组方法整理

数组方法整理

作者: 叫我王必过 | 来源:发表于2019-08-19 15:33 被阅读0次

    一、map

    map方法
    var arr1 = [2,4,7,12,23];
        var arr2 = arr1.map((item,index)=>{
            if( item == 12 ) {
                return item * 2
            }
        });
        var arr3 = arr1.map((item,index)=>{
            if( item == 12 ){
                return item * 2
            }
            return item ;
        })
        console.log('arr2',arr2);   // [undefined, undefined, undefined, 24, undefined]
        console.log('arr3',arr3);   // [2, 4, 7, 24, 23]
    

    map()方法创建了一个新数组,但新数组并不是在遍历完array1后才被赋值的,而是每遍历一次就得到一个值

    二、reduce

    reduce方法
        var arr1 = [2,4,7,12,23];
        var arr4 = [{"name":"jizhi"}];
        var arr7 = [{"name":"jizhi"},{"name":"biguo"}];
        // reduce 求和
        var arr5 = arr1.reduce((pre,cur)=>{
            return pre + cur;
        })
        // reduce 转换对象
        var arr6 = arr4.reduce((pre,cur)=>{});
        var arr8 = arr7.reduce((pre,cur)=>{});
        console.log('arr5',arr5);   // 48
        console.log('arr6',arr6);   // {name: "jizhi"}
        console.log('arr8',arr8);   // undefined
    

    如果没有提供initialValue(索引值),reduce 会从索引1的地方开始执行 callback 方法,跳过第一个索引。如果提供initialValue,从索引位置开始。

    三、filter

    filter方法
        // 去除数组中的null,空字符串,undefined
        var arr9 = ['',1,'1123',null,12,undefined,'123'];
        var arr10 = arr9.filter((item)=>{
            return item ;
        })
        console.log('arr10',arr10);  // [1, "1123", 12, "123"]
       // 过滤符合的数值
        ......
    

    四、forEach

    forEach方法
        var arr1 = ["1","2","3"];
        var arr2 = []; 
        var arr12 = arr1.forEach((item,index,arr)=>{ })
        var arr13 = arr2.forEach((item,index,arr)=>{ 
            console.log('item',item)    // 不执行
        })
        var arr12 = arr1.forEach((item,index,arr)=>{ })
        arr1.forEach((item,index,arr)=>{ 
            console.log('item',item)  // 执行
        })
        console.log('arr10',arr10);  // [1, "1123", 12, "123"]
        console.log('arr12',arr12);  // undefined
    

    相关文章

      网友评论

          本文标题:数组方法整理

          本文链接:https://www.haomeiwen.com/subject/nopssctx.html