美文网首页
Js数组之reduce()方法

Js数组之reduce()方法

作者: Thomas赵骐 | 来源:发表于2020-05-12 16:03 被阅读0次

    1、语法

    arr.reduce(callback,[initialValue])
    

    reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值(或者上一次回调函数的返回值),当前元素值,当前索引,调用 reduce 的数组。

    callback (执行数组中每个值的函数,包含四个参数)
    
        1、previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue))
        2、currentValue (数组中当前被处理的元素)
        3、index (当前元素在数组中的索引)
        4、array (调用 reduce 的数组)
    
    initialValue (作为第一次调用 callback 的第一个参数。)
    

    2、实用小例

    //数据之和
    let array = [2,3,4];
      let result= s.reduce((pre,cur)=>{
          return pre+cur;
      },1)
      console.log(result);//2+3+4
    // 数组去重
    var arr = [1,2,3,3,4,4,2,1,5]
    var newArr = arr.reduce(function (prev, cur,index,curarr) {
        console.log('curarr:',curarr)//[1,2,3,3,4,4,2,1,5]
        prev.indexOf(cur) === -1 && prev.push(cur);
        //这里表示prev第一次去设置的init值[],当满足当前的新数组没有cur(当前元素)时才执行push
            return prev;
       },[]);
     console.log(newArr);//[1,2,3,4,5]
    // 计算数组最大值
    var max = arr.reduce(function (prev, cur) {
        return Math.max(prev,cur);
    });
    

    相关文章

      网友评论

          本文标题:Js数组之reduce()方法

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