定义和用法
接收一个函数作为一个累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
应用场景:下次操作的初始值,依赖于上次操作的返回值。
例子:实现对数组的累加操作
1.数值的累加计算
普通写法
let arr=[1,2,3,4,5]
let total=0
arr.forEach(i=>{
total+=i
})
reduce()方法
var arr=[1,2,3,4,5]
let total=arr.reduce((pre,cur)=>{
return pre+cur
},0)
console.log(total)
2.链式获取对象属性的值
const obj={
name:'zg',
info:{
address:{
location:"成都"
}
}
}
//获取location的值
const arr=['info','address','location']
arr.reduce((pre,cur)=>{return pre[cur]},obj)