常用場景:
- 數(shù)組去重
- 數(shù)組求和
語法:
arr.reduce(function(prev, cur, index, arr) {...}, init)
其中:
prev:第一次代表init,之后每一次都表示調(diào)用回調(diào)之后的返回值。
cur:表示當(dāng)前處理的數(shù)組元素
index:表示當(dāng)前正在處理的元素下標(biāo)(若init存在,index為0,如果init不存在,index為1)
init:表示初始值
常用的也就是prev、cur、init
使用場景1 - 數(shù)組去重
let arr = [2,3,4,4,5]
arr.reduce(function(prev, item) {
!prev.includes(item) && prev.push(item)
return prev
}, []) // [2,3,4,5]
使用場景2 - 數(shù)組求和
let arr = [2,3,4]
arr.reduce(function(prev, item) {
return prev + item
}, 0) // 9
對于數(shù)組求和,講個題外的j簡單的求和方法
let arr = [2,3,4]
eval(arr.join("+")) // 9