数组方法 reduce

134 阅读1分钟

reduce 语法: arr.reduce(callback,[initialValue]) callback接受四个参数

  1. previousvalue (上一次调用返回的值,或是提供的初始值)
  2. currentValue(数组中当前被处理的元素)
  3. index(当前元素在元素中的索引)
  4. 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)