reduce()用於計算陣列元素相加之後的總和。
語法:array.reduce(function(total,currentvalue,currentindex,arr),initialvalue)
引數描述:
total:必需。初始值, 或者計算結束後的返回值
currentvalue:必需。當前元素
currentindex:可選。當前元素的索引
arr:可選。當前元素所屬的陣列物件
initialvalue:可選。傳遞給函式的初始值
專案中使用:
定義了乙個total計算物件陣列data中各物件value的總和
語句:
var total = data.reduce((prev, curr) => prev + curr.value, 0);
其中data陣列的輸出如下圖:
注意:
當沒有傳入初始值(initi**alue)時,prev是從陣列中第乙個元素開始的,curr陣列是第二個元素。
當傳入初始值(initi**alue)後,第乙個prev將是initivalvalue,curr將是陣列中的第乙個元素。
你應該知道的JS reduce的n種應用
reduce是es5中新引入的乙個api。假如你還不知道reduce的用法,請先閱讀下mdn文件中關於reduce的介紹。不得不說,mdn文件太強大了,裡面列舉了很多有用的方法 本文將介紹借助reduce函式,利用其能夠遍歷到陣列的每乙個元素,並且次遍歷都可以使用上次遍歷結果的特性,實現的一些功能。...
對Python實現累加函式的方法詳解
這個需求比較奇怪,要求實現sum和magasum函式,實現以下功能 sum 1 1 sum 1,2,3 6 mega程式設計客棧sum 1 1 megasum 1 2 3 6 實際上sum就是python自建的sum函式,它支援變參,變參怎麼實現,自然是 args,所以很容易寫出雛形 sumdef ...
面試應用題 概率累加求熵
給定乙個整數序列,存放在陣列xs中,長度為n,請計算該序列的熵。熵的計算方法 對於乙個長度為n的序列xs,它包含m 1種不同的取值,s0,s1,sm,這些取值對應的出現概率分別為p0,p1,pm,則這個序列的熵為h x p0log2 p0 p1log2 p1 pm log2 pm 其中,某個取值出現...