JavaScript reduce() 方法
實例
計算數組元素相加後的總和:
var numbers = [65, 44, 12, 4];
function getSum(total, num) {
return total + num;
}
function myFunction(item) {
document.getElementById("demo").innerHTML = numbers.reduce(getSum);
}
輸出結果:
125
定義和用法
reduce() 方法接收一個函數作為累加器,數組中的每個值(從左到右)開始縮減,最終計算為一個值。
reduce() 可以作為一個高階函數,用於函數的 compose。
注意: reduce() 對於空數組是不會執行回調函數的。
流覽器支持
表格中的數字表示支持該方法的第一個流覽器版本號。
方法 | |||||
---|---|---|---|---|---|
reduce() | Yes | 9.0 | 3.0 | 4 | 10.5 |
語法
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
參數
參數 | 描述 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
function(total,currentValue, index,arr) | 必需。用於執行每個數組元素的函數。 函數參數:
|
||||||||||
initialValue | 可選。傳遞給函數的初始值 |
技術細節
返回值: | 返回計算結果 |
---|---|
JavaScript 版本: | ECMAScript 3 |
更多實例
實例
四捨五入後計算數組元素的總和:
<button onclick="myFunction()">點我</button>
<p>數組元素之和: <span id="demo"></span></p>
<script>
var numbers = [15.5, 2.3, 1.1, 4.7];
function getSum(total, num) {
return total + Math.round(num);
}
function myFunction(item) {
document.getElementById("demo").innerHTML = numbers.reduce(getSum, 0);
}
</script>