JavaScript Array reduceRight()
相對於 reduce() 方法,陣列 (array) 的 reduceRight() 方法會對陣列中的每一個元素,由右至左傳入指定的函數,最後返回一個累加 (accumulator) 的值。
語法:
ary.reduceRight(callback[,initialValue])
- 參數 callback 是一個函數,傳入的參數分別是:
- 參數 accumulator 表示目前的累加值,一開始的預設值是 initialValue,接下來的 accumulator 值就是每一次函數執行後返回的結果
- 參數 currentValue 表示目前執行到的元素值
- 參數 currentIndex 表示目前執行到的元素的索引值
- 參數 array 表示陣列本身
- 參數 initialValue 表示初始的累加值
- reduce() 方法會返回由右至左所有元素最後累加的結果
用法:
var sum = [0, 1, 2, 3].reduceRight(function(a, b) {
return a + b;
}, 0);
// 由右至左將所有的元素值加總,最後返回結果 6
console.log(sum);
var a = ['1', '2', '3', '4', '5'];
var left = a.reduce(function(prev, cur) {
return prev + cur;
});
var right = a.reduceRight(function(prev, cur) {
return prev + cur;
});
// 輸出 "12345"
console.log(left);
// 輸出 "54321"
console.log(right);
IE 從 IE9 開始才有支援 reduceRight()。