reduce 语法
arr.reduce(function(prev, cur, index, arr) {
}, init)
//arr:表示原数组
//prev:上一次回掉时的返回值,或者初始值init
//index:表示当前元素值的索引,如果init的值为0,它的值就为0,否则就为1
//cur:正在处理的数组元素
求和
let arr = [1, 2, 3, 4, 5, 6, 7, 8]
let sum = arr.reduce((pre, cur) => {
return pre += cur
}, 0)
console.log(sum)
去重
let arr = [1, 2, 2, 3, 4, 5, 5, 6, 7, 7, 8]
let removeRepeat = arr.reduce((pre, arr) => {
pre.indexOf(arr) === -1 && pre.push(arr)
return pre
}, [])
console.log(removeRepeat)
求最大值
let arr = [9, 1, 2, 2, 3, 4, 10, 5, 5, 6, 7, 7, 8]
let max = arr.reduce((pre, arr) => {
return pre > arr ? pre : arr
})
console.log(max)