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 月 |