JavaScript Array reduce()
示例
減去陣列中的所有數字
const numbers = [175, 50, 25];
document.getElementById("demo").innerHTML = numbers.reduce(myFunc);
function myFunc(total, num) {
return total - num;
}
自己動手試一試 »
對所有數字進行四捨五入並顯示總和
const numbers = [15.5, 2.3, 1.1, 4.7];
document.getElementById("demo").innerHTML = numbers.reduce(getSum, 0);
function getSum(total, num) {
return total + Math.round(num);
}
自己動手試一試 »
描述
reduce()
方法對陣列元素執行一個歸約函式。
reduce()
方法返回一個單一值:函式的累積結果。
reduce()
方法不會對空陣列元素執行該函式。
reduce()
方法不會改變原始陣列。
注意
在第一次回撥時,沒有來自上一次回撥的返回值。
通常,陣列元素 0 用作初始值,迭代從陣列元素 1 開始。
如果提供了初始值,則使用該值,並且迭代從陣列元素 0 開始。
另請參閱
語法
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
引數
引數 | 描述 | ||||||||
function() | 必需。 一個為陣列中每個元素執行的函式。 |
||||||||
歸約函式引數
| |||||||||
initialValue | 可選。 作為初始值傳遞給函式的值。 |
返回值
回撥函式最後一次呼叫的累積結果。 |
瀏覽器支援
reduce()
是 ECMAScript5 (ES5) 的一個特性。
自 2013 年 7 月以來,所有現代瀏覽器都完全支援 ES5 (JavaScript 2009)
Chrome 23 |
IE/Edge 11 |
Firefox 21 |
Safari 6 |
Opera 15 |
2012 年 9 月 | 2012 年 9 月 | 2013 年 4 月 | 2012 年 7 月 | 2013 年 7 月 |