reduce 语法: arr.reduce(callback,[initialValue]) callback接受四个参数
- previousvalue (上一次调用返回的值,或是提供的初始值)
- currentValue(数组中当前被处理的元素)
- index(当前元素在元素中的索引)
- array(调用reduce的数组)
reduce去重
let arr = [1, 2, 3, 1, 4];
let newArr = arr.reduce((pre, next) => {
if (!pre.includes(next)) {
return pre.concat(next)
} else {
return pre
}
}, [])
console.log(1, newArr)
二维数组转为一维数组
let arr=[[0,1],[2,3],[4,5]]
const newArr=arr.reduce((prev,next)=>{
return prev.concat(next)
})
对象里面的属性求和
var obj = [
{
subject: 'chinese',
count: 10,
},{
subject: 'math',
count: 10,
},
{
subject: 'sadfdvgd',
count: 60,
}
]
let count=obj.reduce((prev,next)=>{
return prev+next.count
},0)