陣列之reduce 和reduceRight

2022-09-05 16:24:14 字數 664 閱讀 2998

1、reduce()和reduceright()方法使用指定的函式將陣列元素進行組合,生成單個值。

reduce()可以傳入兩個引數,第乙個是執行化簡操作的函式。同樣這個函式可以有引數,第乙個引數代表之前所有元素的累積結果,第二個引數代表當前進行運算的元素,第三個引數代表當前運算引數的索引值。第四個引數代表呼叫方法的原陣列。

第二個引數是可選的,是乙個傳遞給函式的初始值。如果第二個引數有值,那麼作為運算的初始值參與函式運算,如果第二個引數沒有值,那麼陣列中的首位將作為函式運算的初始值,參與函式運算的陣列其他位向後平移一位。

reduceright()和reduce()使用方法一致,但是reduceright()進行函式運算從右到左。傳參形式均一致。

舉例使用:1,實現累加,傳入初始值

展示結果:以10作為初始值參與累加運算。當前參與運算的陣列元素從索引值位0開始,

2、實現陣列累加,不傳入初始值

展示結果:實現陣列中元素每一位的累加,將陣列首位作為初始值參與函式運算 ,同時開始參與運算的陣列元素順勢向後順延一位,索引值從1開始。

擴充套件:封裝乙個自己的reduce()方法

小練習:獲得當前時間並將其轉換成字串形式,個位數用零補齊。例如8點45分零五秒轉化成084505。

陣列reduce 方法

reduce 函式接收的引數和map 類似,乙個函式f,乙個list,但行為和map 不同,reduce 傳入的函式f必須接收兩個引數,reduce 對list的每個元素反覆呼叫函式f,並返回最終結果值。例子def f x,y return x y reduce f,1,3,5,7,9 返回結果為2...

陣列 reduce 方法

reduce 是接受乙個函式作為累加器,陣列中每乙個值從左到右計算成乙個值 arr.reduce callback,initialvaluce 1.previousvalue 上一次呼叫返回的值或者是提供的初始值 initialvalue 2.currentvalue 陣列當前被處理的元素 3.in...

陣列累計 reduce

reduce 方法接收乙個函式作為累加器,陣列中的每個值 從左到右 開始縮減,最終計算為乙個值。reduce 可以作為乙個高階函式,用於函式的 compose。array.reduce function total,currentvalue,currentindex,arr initialvalue...