reduce 累加器,会从数组左边往右边依次计算,因此可以用来替换for循环等一系列其他操作
/*
* parameter
* callback => ( // 回调
accumulator // 累加器累加回调的返回值
currentValue // 数组中正在处理的元素
currentIndex ? //数组中正在处理的当前元素的索引
array ? //调用reduce的数组
)=>{ code }
initialValue ? //初始化累加器的值 (若 不填则将数组array[0]设置为累加器的初始值)
*
*/
function reduce( callback[, initialValue] ){ [native code] }
注意: initialValue 若 不填则将数组array[0]设置为累加器的初始值
1. initialValue 设置为 100
let arr = [2,4,5,7,9,10]
arr.reduce( (accumulator,currentValue,currentIndex) => {
console.log(`当前索引${currentIndex}对应的值${currentValue},截止累加器的值${accumulator}`)
return accumulator + currentValue
},100)
2. initialValue 不设置
let arr = [2,4,5,7,9,10]
arr.reduce( (accumulator,currentValue,currentIndex) => {
console.log(`当前索引${currentIndex}对应的值${currentValue},截止累加器的值${accumulator}`)
return accumulator + currentValue
})