JavaScript Array reduce() 方法

定义和用法

reduce() 方法将数组缩减为单个值。

reduce() 方法为数组的每个值(从左到右)执行提供的函数。

函数的返回值存储在累加器中(结果/总计)。

注释:对没有值的数组元素,不执行 reduce() 方法。

注释:reduce() 方法不会改变原始数组。

实例

例子 1

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

var numbers = [175, 50, 25];
document.getElementById("demo").innerHTML = numbers.reduce(myFunc);
function myFunc(total, num) {
  return total - num;
}

Kai kai

Example 2

Round all numbers in the array and display the total:

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

Kai kai

Ƙarantawa Ƙarantawa

array.reduce(function(total, currentValue, currentIndex, arr, initialValue)

Ƙarantawa ƙasashen Ƙarantawa:

Ƙarantawa Ƙarantawa
function(total, currentValue, index, arr) Dabam. Ƙarantawa ta farko ta farko ta farko ta farko ta farko

Ƙarantawa ƙasashen Ƙarantawa:

Ƙarantawa Ƙarantawa
total Dabam. initialValue, ko ƙarantawa ta farko ta farko
currentValue Dabam. Ƙarantawa ta farko ta farko
index Dukanshi. Ƙarantawa ƙasashen ƙarantawa ta farko
arr Dukanshi. Ƙarantawa ƙasashen ƙarantawa ta farko
initialValue Dukanshi. Ƙarantawa a kaiya ƙarantawa ta farko

Ƙarantawa Ƙarantawa

A ciki daya ƙarantawa: A ciki daya ƙarantawa a bayan ƙarantawa ta farko ta kara ƙarantawa ta farko
Ƙarantawa Ƙasashen JavaScript: ECMAScript 5

Amincin Ƙasashen

Lamunin ƙarantawa a tabbatar da saukar ƙarantawa ta farko ta ƙarantawa da amincin ƙarantawa

Dokoki duk ƙasashen a dukiya suna aminci amincin ƙarantawa reduce() Ƙarantawa:

Chrome IE Edge Firefox Safari Opera
Chrome 3 IE 9 Edge 12 Firefox 3 Safari 5 Opera 10.5
Shekarar 2009 Ƙarantata Shekarar 2010 Ƙarantata Shekarar 2015 Ƙarantata Shekarar 2009 Ƙaranta Shekarar 2010 Ƙarantata Shekarar 2010 Ƙaranta

Ƙarantawa ƙaɗa

教程:JavaScript Ƙaɗe

教程:JavaScript 数组 Const

教程:JavaScript 数组方法

教程:JavaScript 排序数组

教程:JavaScript 数组迭代

手册:Array.reduceRight() 方法