0
点赞
收藏
分享

微信扫一扫

ES6数组reduce方法使用

reduce方法对数组中的每个元素执行一个reducer函数,将其减少为单个值。 reduce的语法如下:

let result = arr.reduce(reducer, initialValue);

reducer函数包含四个参数:

  • accumulator - 累计器,默认为initialValue的值,累计回调函数的返回值
  • currentValue - 数组中正在处理的元素
  • index - 当前元素的索引
  • array - reduce()被调用的数组 示例:
let numbers = [1, 2, 3];

let sum = numbers.reduce((accumulator, current) => {
  return accumulator + current;
}, 0);

console.log(sum); // 6

上面代码中,reduce遍历numbers数组,将每个元素累加至accumulator,并将返回值赋值给sum。 reduce的初值initialValue通常会设置为0或1,这样可以直接返回乘积或总和。 你也可以省略initialValue,这时accumulator会从索引1开始计算:

let numbers = [1, 2, 3];

let sum = numbers.reduce((acc, cur) => acc + cur); 

console.log(sum); // 6

reduce方法非常适合将数组转换为单个值,常见的用例有:

  • 求数组元素之和
  • 数组元素乘积
  • 统计数组中某个元素的个数
  • 将二维数组转化为一维
  • 数组去重等 通过reduce方法,可以避免手动初始化和更新一个累计变量的麻烦。
举报

相关推荐

0 条评论