數(shù)組合并常用concat,數(shù)組求和常用for循環(huán),網(wǎng)上搜索發(fā)現(xiàn)了一個(gè)更高效的方法就是用reduce
1,reduce實(shí)現(xiàn)數(shù)組累加

2,reduce實(shí)現(xiàn)數(shù)組合并

3,reduce實(shí)現(xiàn)數(shù)組扁平

里面的concat可以繼續(xù)用reduce優(yōu)化
Es6簡(jiǎn)單實(shí)現(xiàn):
arr.flat()
reduce簡(jiǎn)單用法講解:
語(yǔ)法: ?arr.reduce([callback,initialValue])
callback
執(zhí)行數(shù)組中每個(gè)值的函數(shù),包含四個(gè)參數(shù):
previousValue
上一次調(diào)用回調(diào)函數(shù)返回的值,或者是提供的初始值(initialValue)
currentValue
數(shù)組中當(dāng)前被處理的元素
currentIndex
當(dāng)前被處理元素在數(shù)組中的索引,?即currentValue的索引.如果有initialValue初始值, 從0開(kāi)始.如果沒(méi)有從1開(kāi)始.
array
調(diào)用reduce的數(shù)組
initialValue
可選參數(shù),?作為第一次調(diào)用 callback 的第一個(gè)參數(shù)。
最后一次調(diào)用回調(diào)函數(shù)返回的結(jié)果