1、reduce里回调函数的四个参数
- prev 上一个、next下一个、index索引、item原数组
- 函数返回叠加后的结果,不影响原数组
2、reduce求和
let arr = [1,2,3,4,5,6,7]
let sum = arr.reduce(function(prev,next,index,item){
console.log(arguments)
//return 100; //本次的返回值会作为下一次的上一次返回结果
//reduce求和
return prev+next;
})
3、reduce求乘积
let sum2 = [{“price”:40,”count”:2},{“price”:40,”count”:4}]
sum2.reduce(function(prev,next,index,item){
return prev+next.price*next.count
},0) //0默认指定第一次的prev
console.log(sum2)
4、reduce多维数组转一维数组
let sum3= [[1,2,3],[4,5,6],[7,8,9]].reduce(function(prev,next,index,item){
return prev.concat(next) //concat 数组拼接
})
console.log(sum3)