美文网首页
JS数组中filter、map、reduce三个函数的使用

JS数组中filter、map、reduce三个函数的使用

作者: LcoderQ | 来源:发表于2021-09-03 13:08 被阅读0次

    1.filter:过滤

    var test = [1, 2, 3, 4, 5];
    //数组有一个filter方法,该方法会返回一个满足条件的新数组
    //再调用filter方法的时候,其内部又可以接受一个函数作为参数、
    //该函数可以接受三个参数,第一个为数组的元素,第二个为元素对应的索引,第三个为数组本身(引用)
    //在函数体中可以进行逻辑判断,当返回值为true是,会将该item元素添加到新的数组中
    var test2 = test.filter((item, index, array) => {
        console.log(item, index, array);
        return item % 2 === 0;
    });
    console.log("使用filter后的test数组:" + test);
    console.log("使用filter得到的test2数组:" + test2);
    

    以上代码运行结果为:

    1 0 [ 1, 2, 3, 4, 5 ]
    2 1 [ 1, 2, 3, 4, 5 ]
    3 2 [ 1, 2, 3, 4, 5 ]
    4 3 [ 1, 2, 3, 4, 5 ]
    5 4 [ 1, 2, 3, 4, 5 ]
    使用filter后的test数组:1,2,3,4,5
    使用filter得到的test2数组:2,4
    

    2.map:映射

    var test = [1, 2, 3, 4, 5];
    var test3 = test.map((item, index, array) => {
        return item + 1;
    });
    console.log(test3);
    //输出结果为[ 2, 3, 4, 5, 6 ]
    

    3.reduce

    //reduce函数可以接受接受两个参数,一个为函数,一个为初始值,
    //如下0就是传入的一个初始值
    //在回调函数中,可以接受四个参数,第一个参数第一次的值为传入的初始值即0,之后每次循环的值为每次return的值
    var test = [1, 2, 3, 4, 5];
    var total = 0;
    total = test.reduce((prevalue, item) => {
        return item + prevalue;
    }, 0);
    console.log(total);
    //输出结果为15
    

    相关文章

      网友评论

          本文标题:JS数组中filter、map、reduce三个函数的使用

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