Array的reduce()把一個函數(shù)作用在這個Array的[x1, x2, x3...]上强衡,這個函數(shù)必須接收兩個參數(shù)常侣,reduce()把結(jié)果繼續(xù)和序列的下一個元素做累積計算
其效果就是:
[x1, x2, x3, x4].reduce(f) = f(f(f(x1, x2), x3), x4)
比方說對一個Array求和铃慷,就可以用reduce實現(xiàn):
var arr = [1, 3, 5, 7, 9];
arr.reduce(function (x, y) {
return x + y;
}); // 25
利用reduce()求積:
'use strict';
function product(arr) {
return arr.reduce(function(x, y){
return x*y;
})
}
// 測試:
if (product([1, 2, 3, 4]) === 24 && product([0, 1, 2]) === 0 && product([99, 88, 77, 66]) === 44274384) {
console.log('測試通過!');
}
else {
console.log('測試失敗!');
}
...后期遇到好的例子再放進來!