JavaScript 数组 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);
}
亲自尝试 »
描述
The reduce()
方法对数组元素执行一个 reducer 函数。
The reduce()
方法返回单个值:函数的累积结果。
The reduce()
方法不会对空数组元素执行函数。
The reduce()
方法不会改变原始数组。
注意
在第一次回调中,没有来自先前回调的返回值。
通常,数组元素 0 用作初始值,迭代从数组元素 1 开始。
如果提供了初始值,则使用此值,并且迭代从数组元素 0 开始。
另请参阅
语法
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
参数
参数 | 描述 | ||||||||
function() | 必需的。 要对数组中的每个元素运行的函数。 |
||||||||
Reducer 函数参数
| |||||||||
initialValue | 可选的。 要作为初始值传递给函数的值。 |
返回值
回调函数最后一次调用的累积结果。 |
浏览器支持
reduce()
是 ECMAScript5 (ES5) 功能。
ES5 (JavaScript 2009) 自 2013 年 7 月起在所有现代浏览器中得到完全支持
Chrome 23 |
IE/Edge 11 |
Firefox 21 |
Safari 6 |
Opera 15 |
2012 年 9 月 | 2012 年 9 月 | 2013 年 4 月 | 2012 年 7 月 | 2013 年 7 月 |