JavaScript reduce()的使用
- 2020 年 10 月 8 日
- 筆記
- javascript, reduce
語法
arr.reduce(callback(accumulator, currentValue, index, array), initialValue)
參數
callback
執行數組中每個值 (如果沒有提供 initialValue則第一個值除外)的函數,包含四個參數:
accumulator
累計器累計回調的返回值; 它是上一次調用回調時返回的累積值,或initialValue(見於下方)。
currentValue
數組中正在處理的元素。
index
數組中正在處理的當前元素的索引。 如果提供了initialValue,則起始索引號為0,否則從索引1起始。
array
調用reduce()的數組
initialValue
作為第一次調用 callback函數時的第一個參數的值。 如果沒有提供初始值,則將使用數組中的第一個元素。 在沒有初始值的空數組上調用 reduce 將報錯。
返回值
函數累計處理的結果
描述
reduce為數組中的每一個元素依次執行callback函數,不包括數組中被刪除或從未被賦值的元素,接受四個參數:
- accumulator 累計器
- currentValue 當前值
- currentIndex 當前索引
- array 數組
回調函數第一次執行時,accumulator 和currentValue的取值有兩種情況:如果調用reduce()時提供了initialValue,accumulator取值為initialValue,currentValue取數組中的第一個值;如果沒有提供 initialValue,那麼accumulator取數組中的第一個值,currentValue取數組中的第二個值。
注意:如果沒有提供initialValue,reduce 會從索引1的地方開始執行 callback 方法,跳過第一個索引。如果提供initialValue,從索引0開始。