JavaScript 数组 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;
}

Kokeile itse

Esimerkki 2

Neliöi taulukon kaikki luvut ja näytä summa:

<button onclick="myFunction()">Kokeile</button>
<p>Lukujen summa taulukossa: <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>

Kokeile itse

Syntaksi

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

Parametrien arvot

Parametrit Kuvaus
function(total, currentValue, index, arr) Välttämätön. Suoritettava jokaiselle taulukon elementille.

Funktioparametrit:

Parametrit Kuvaus
total Välttämätön. initialValue tai funktiosta aiemmin palautettu arvo.
currentValue Välttämätön. Nykyisen elementin arvo.
index Valinnainen. Nykyisen elementin taulukon indeksi.
arr Valinnainen. Nykyisen elementin oma taulukko-objekti.
initialValue Valinnainen. Arvo, joka välitetään funktiolle alkuperäisenä arvona.

Tekninen yksityiskohta

Palautusarvo: Palauttaa viimeisen kutsun paluufunktion kumulatiivisen tuloksen.
JavaScript-versio: ECMAScript 5

Selaimen tuki

Taulukossa olevat numerot osoittavat ensimmäisen selaimen version, joka tukee tätä menetelmää täysin.

Kaikki selaimet tukevat täysin tätä menetelmää reduce() Menetelmä:

Chrome IE Edge Firefox Safari Opera
Chrome 3 IE 9 Edge 12 Firefox 3 Safari 5 Opera 10.5
Vuosi 2009, kuukausi 6 Vuosi 2010, kuukausi 9 Vuosi 2015, kuukausi 7 Vuosi 2009, kuukausi 1 Vuosi 2010, kuukausi 6 Vuosi 2010, kuukausi 3

Liittyvät sivut

Oppitunti:JavaScript-taulukko

Oppitunti:JavaScript-taulukon Const

Oppitunti:JavaScript-taulukon metodit

Oppitunti:JavaScript-taulukon järjestäminen

Oppitunti:JavaScript-taulukon iteraatio

Käsikirja:Array.reduceRight() metodi