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

Prøv det selv

Eksempel 2

Runder alle tal i arrayet op og vis summen:

<button onclick="myFunction()">Prøv det</button>
<p>Summen af tallene i arrayet: <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>

Prøv det selv

Syntaks

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

Parameterværdi

Parameter Beskrivelse
function(total, currentValue, index, arr) Obligatorisk. Funktionen, der kører for hver element i arrayet.

Funktion参数:

Parameter Beskrivelse
total Obligatorisk. initialValue, eller den værdi, der tidligere returneres af funktionen.
currentValue Obligatorisk. Værdien af det aktuelle element.
index Valgfri. Den aktuelle elementets arrayindeks.
arr Valgfri. Den arrayobjekt, som den aktuelle element tilhører.
initialValue Valgfri. Værdien, der overføres som startværdi til funktionen.

Tekniske detaljer

Returverdi: Returnerer den akkumulerede resultat fra den seneste kald til callback-funktionen.
JavaScript-version: ECMAScript 5

Browserstøtte

Tallene i tabellen angiver den første browserversion, der fuldt ud støtter denne metode.

Alle browsere understøtter dette fuldt ud reduce() Metode:

Chrome IE Edge Firefox Safari Opera
Chrome 3 IE 9 Edge 12 Firefox 3 Safari 5 Opera 10.5
juni 2009 september 2010 juli 2015 januar 2009 juni 2010 marts 2010

relaterede sider

Læringsguide:JavaScript array

Læringsguide:JavaScript array Const

Læringsguide:JavaScript array metoder

Læringsguide:JavaScript sortér array

Læringsguide:JavaScript array iteration

Manual:Array.reduceRight() metode