JavaScript 数组 reduce() 方法
实例
从头开始减去数组中的数字:
var numbers = [175, 50, 25];
document.getElementById("demo").innerHTML = numbers.reduce(myFunc);
function myFunc(total, num) {
return total - num;
}
亲自试一试 »
document.getElementById("demo").innerHTML = numbers.reduce(myFunc);
function myFunc(total, num) {
return total - num;
}
页面下方有更多实例。
定义和用法
reduce()
方法将数组缩减为单个值。
reduce()
方法对数组的每个值执行一个提供的函数(从左到右 )。
函数的返回值存储在累加器中(结果/总计)。
注释: 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 5 |
更多实例
实例
将数组中的所有数字四舍五入,并显示总和:
<button onclick="myFunction()">Try it</button>
<p>Sum of numbers in array: <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>
亲自试一试 »
<p>Sum of numbers in array: <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>
相关页面
JavaScript 教程: JavaScript 数组
JavaScript 教程: JavaScript 迭代
JavaScript 参考手册: JavaScript reduceRight() 方法