Array.prototype.reduce方法接受兩個參數(shù)宴卖。第一個是回調(diào)函數(shù),該函數(shù)接受四個參數(shù)
function(
? ?accumulator,? // 上次操作返回的結(jié)果
? ?currentValue, // 當(dāng)前數(shù)組元素
? ?currentIndex, // 當(dāng)前數(shù)組索引
? ?array? // 被操作的數(shù)組
?) {}
第二個是初始值 arr.reduce(function(acc, current, currntIndex, array) {....}, initial)
執(zhí)行過程:reduce中的回調(diào)函數(shù)第一次執(zhí)行時渠缕,將initial傳給acc將數(shù)組第一個元素傳給current. 如果函數(shù)體內(nèi)有return則return的值就傳給下次函數(shù)執(zhí)行時的acc, 數(shù)組第二個元素就傳給current充岛,以此類推。
該函數(shù)返回累計處理的結(jié)果