108 of 264 menu

Metoda reduce

Metoda reduce zloži polje v eno vrednost (reducira). Na primer, s to metodo lahko zlahka najdemo vsoto elementov polja (to pomeni, da bo polje zmanjšano na eno samo vrednost - na vsoto elementov).

Kot prvi parameter metoda reduce prejme funkcijo, ki se bo zaporedno izvajala za vsak element polja, začenši s prvim. V to funkcijo lahko podamo 4 parametre. Če ti parametri obstajajo (niso obvezni), potem bo prvi samodejno prejel vmesni rezultat, drugi bo prejel element polja, tretji - njegovo številko v polju (indeks), četrti pa - samo polje.

Vmesni rezultat je spremenljivka, v kateri se bo kopičila vrednost, ki jo bo vrnila metoda reduce, ko bo pregledala vse elemente polja. Na primer, tja lahko zaporedno kopičimo vsoto elementov polja: najprej damo prvi element, ob naslednjem prehodu zanke že vsoto prvega elementa in drugega, ob naslednjem prehodu - vsoto prvega, drugega in tretjega. In tako naprej, dokler se polje ne konča. Funkcija, ki jo sprejme reduce, mora vrniti novo vrednost vmesnega rezultata.

Kot drugi parameter metode reduce se navede začetna vrednost vmesnega rezultata. Če je ne navedemo, bo enaka prvemu elementu polja, obdelava elementov pa se bo začela z drugim elementom.

Sintaksa

polje.reduce(function(vmesniRezultat, element, indeks, polje) { return novVmesniRezultat; }, zacetnaVrednost);

Primer

Poiščimo vsoto elementov polja:

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

Rezultat izvajanja kode:

21

Primer

Poiščimo vsoto vseh pozitivnih števil v polju:

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

Rezultat izvajanja kode:

10

Glejte tudi

  • metoda reduceRight,
    ki izvaja podobno operacijo
  • metoda filter,
    ki omogoča filtriranje elementov polja
  • metodi map in forEach,
    ki omogočata apliciranje funkcije na vsak element polja
  • metodi some in every,
    ki izvajata preverjanje polja
Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni