在javascript中,reduce()方法用于對數(shù)組元素進行迭代(累加),會對數(shù)組中的所有元素調(diào)用指定的回調(diào)函數(shù)作為累加器,數(shù)組中的每個值(從左到右)開始縮減,最終計算為一個值。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
在javascript中,reduce()方法用于對數(shù)組元素進行迭代(累加),該方法接收一個函數(shù)作為累加器,數(shù)組中的每個值(從左到右)開始縮減,最終計算為一個值。
reduce() 方法可對數(shù)組中的所有元素調(diào)用指定的回調(diào)函數(shù)。該回調(diào)函數(shù)的返回值為累積結果,并且此返回值在下一次調(diào)用該回調(diào)函數(shù)時作為參數(shù)提供。
語法:
array.reduce(function callbackfn(previousValue, currentVaule, currentIndex, array), initialValue)
function callbackfn(previousValue, currentVaule, currentIndex, array)
:必需參數(shù),指定回調(diào)函數(shù),最多可以接收4個參數(shù):
-
previousValue:通過上一次調(diào)用回調(diào)函數(shù)獲得的值。如果向 reduce() 方法提供 initialValue,則在首次調(diào)用函數(shù)時,previousValue 為 initialValue。
-
currentVaule:當前元素數(shù)組的值。
-
currentIndex:當前數(shù)組元素的數(shù)字索引。
-
array:包含該元素的數(shù)組對象。
initialValue
:可省略的參數(shù),傳遞給函數(shù)的初始值。
下面通過代碼示例來具體了解一下:
示例1:將數(shù)組值進行累加求和
var a = [11, 12, 13], sum = 0; function f(pre,curr) { sum=pre+curr; return sum; } a.reduce(f); console.log(sum);
輸出結果:
36
示例2:將數(shù)組值連接成字符串
var a = [11, 12, 13], str = ''; function f(pre,curr) { str=pre+'-'+curr; return str; } a.reduce(f); console.log(str);
【推薦學習:javascript高級教程】