108 of 264 menu

Metóda reduce

Metóda reduce redukuje pole na jednu hodnotu (redukuje). Napríklad, pomocou tejto metódy možno ľahko nájsť súčet prvkov poľa (t.j. pole sa zredukuje na jednu hodnotu - na súčet prvkov).

Prvým parametrom metóda reduce prijíma funkciu, ktorá sa postupne vykoná pre každý prvok poľa, počnúc prvým. Do tejto funkcie je možné odovzdať 4 parametre. Ak tieto parametre existujú (nie sú povinné), tak do prvého sa automaticky dostane priebežný výsledok, do druhého sa dostane prvok poľa, do tretieho - jeho číslo v poli (index), a do štvrtého - samotné pole.

Priebežný výsledok - je premenná, v ktorej sa bude hromadiť tá hodnota, ktorú vráti metóda reduce, keď prejde všetky prvky poľa. Napríklad, tam možno postupne hromadiť súčet prvkov poľa: najprv vložiť prvý prvok, pri ďalšom prechode cyklu už súčet prvého prvku a druhého, pri ďalšom prechode - súčet prvého, druhého a tretieho. A tak ďalej, kým pole neskončí. Funkcia, ktorú prijíma reduce, musí vrátiť novú hodnotu priebežného výsledku.

Druhým parametrom metódy reduce sa uvádza počiatočná hodnota priebežného výsledku. Ak nie je uvedená, bude sa rovnať prvému prvku poľa a spracovanie prvkov začne od druhého prvku.

Syntax

pole.reduce(function(priebežný výsledok, prvok, index, pole) { return nový priebežný výsledok; }, počiatočná hodnota);

Príklad

Nájdime súčet prvkov poľa:

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

Výsledok vykonania kódu:

21

Príklad

Nájdime súčet všetkých kladných čísel v poli:

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

Výsledok vykonania kódu:

10

Pozri tiež

  • metóda reduceRight,
    vykonávajúca podobnú operáciu
  • metóda filter,
    ktorá umožňuje filtrovať prvky poľa
  • metódy map a forEach,
    ktoré umožňujú aplikovať funkciu na každý prvok poľa
  • metódy some a every,
    vykonávajúce kontrolu poľa
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
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť