轻松上手,快乐学习!

JavaScript 数组 reduce() 方法


实例

从头开始减去数组中的数字:

var numbers = [175, 50, 25];

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) 必需。为数组中的每个元素运行的函数。
函数参数:
参数 描述
total 必需。initialValue,或者函数之前返回的值
currentValue 必需。当前元素的值
currentIndex 可选。当前元素的数组索引
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>
亲自试一试 »

相关页面

JavaScript 教程: JavaScript 数组

JavaScript 教程: JavaScript 迭代

JavaScript 参考手册: JavaScript reduceRight() 方法