重学javascript

73 阅读1分钟

JavaScript 数组 reduce方法

由于在工作中常用到方法如map、forEach、filter等等已经很熟悉了,对于reduce很多时候会忘记它的使用、以及在独特的运用场景下提高开发效率。

简介

reduce接收一个函数作为累计器,对数组中每一个元素(从左到右)执行该函数,并将其结果汇总为单个值返回。 注:对于空数组不执行累计器

参数

  • callback 累计器
  • intValue 初始值

callback参数

  • total 每次累计后的值,第一次为初始值initValue
  • currentValue 单前待操作的值,由原数组从左到右依次传递
  • currentIndex 单前待操作项下标
  • arr 当前操作的数组对象

兼容性

image.png

使用 1.累加累乘

let arr = [1, 2, 3]
function getSum (total, current) { 
    return total + current 
}
let res = arr.reduce(getSum, 0)
console.log(res) // 6