美文网首页
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