108 of 264 menu

Metoden reduce

Metoden reduce reducerer et array til en enkelt værdi. For eksempel, ved hjælp af denne metode kan man nemt finde summen af array-elementer (dvs. arrayet reduceres til en enkelt værdi - summen af elementerne).

Som den første parameter modtager metoden reduce en funktion, som sekventielt udføres for hvert element i arrayet, startende med det første. I denne funktion kan man overføre 4 parametre. Hvis disse parametre er til stede (de er ikke obligatoriske), så vil den første automatisk modtage det mellemliggende resultat, den anden vil modtage elementet i arrayet, den tredje - dets nummer i arrayet (indeks), og den fjerde - selve arrayet.

Det mellemliggende resultat - er en variabel, hvori den værdi vil akkumuleres, som metoden reduce vil returnere, når den har gennemgået alle elementerne i arrayet. For eksempel, der kan man sekventielt akkumulere summen af array-elementer: først lægge det første element, ved næste gennemløb af løkken allerede summen af det første element og det andet, ved næste gennemløb - summen af det første, andet og tredje. Og sådan fortsætter det, indtil arrayet er slut. Funktionen, som reduce modtager, skal returnere den nye værdi af det mellemliggende resultat.

Som anden parameter for metoden reduce angives startværdien for det mellemliggende resultat. Hvis den ikke er angivet, vil den være lig med det første element i arrayet, og behandlingen af elementerne vil starte fra det andet element.

Syntaks

array.reduce(function(mellemliggendeResultat, element, indeks, array) { return nytMellemliggendeResultat; }, startværdi);

Eksempel

Lad os finde summen af array-elementer:

let arr = [1, 2, 3, 4, 5, 6]; let res = arr.reduce(function(sum, elem) { return sum + elem; }, 0); console.log(res);

Resultatet af udførelse af koden:

21

Eksempel

Lad os finde summen af alle positive tal i arrayet:

let arr = [1, -2, -3, 4, 5, -6]; let res = arr.reduce(function(sum, elem) { if (elem >= 0) { return sum + elem; } else { return sum; } }, 0); console.log(res);

Resultatet af udførelse af koden:

10

Se også

  • metoden reduceRight,
    der udfører en lignende operation
  • metoden filter,
    som tillader at filtrere array-elementer
  • metoderne map og forEach,
    som tillader at anvende en funktion på hvert element i arrayet
  • metoderne some og every,
    der udfører kontrol af arrayet
Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis