108 of 264 menu

Metoda reduce

Metoda reduce reduce un array la o singură valoare (reducere). De exemplu, cu ajutorul acestei metode poți găsi cu ușurință suma elementelor array-ului (adică array-ul va fi redus la o singură valoare - suma elementelor).

Primul parametru al metodei reduce primește o funcție, care se va executa secvențial pentru fiecare element al array-ului, începând cu primul. În această funcție pot fi transmise 4 parametri. Dacă acești parametri există (nu sunt obligatorii), atunci în primul va intra automat rezultatul intermediar, în al doilea va intra elementul array-ului, în al treilea - numărul său în array (indexul), iar în al patrulea - array-ul în sine.

Rezultatul intermediar - este o variabilă, în care se va acumula valoarea pe care o va returna metoda reduce, când va parcurge toate elementele array-ului. De exemplu, acolo poți acumula secvențial suma elementelor array-ului: mai întâi pune primul element, la următoarea iterație a ciclului deja suma primului element și a celui de-al doilea, la următoarea iterație - suma primului, celui de-al doilea și a celui de-al treilea. Și așa mai departe, până când array-ul se termină. Funcția, pe care o acceptă reduce, trebuie să returneze noua valoare a rezultatului intermediar.

Al doilea parametru al metodei reduce specifică valoarea inițială a rezultatului intermediar. Dacă nu este specificat, atunci va fi egal cu primul element al array-ului, iar procesarea elementelor va începe de la al doilea element.

Sintaxă

array.reduce(function(rezultatIntermediar, element, index, array) { return noulRezultatIntermediar; }, valoareInitiala);

Exemplu

Să aflăm suma elementelor array-ului:

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

Rezultatul executării codului:

21

Exemplu

Să aflăm suma tuturor numerelor pozitive din array:

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

Rezultatul executării codului:

10

Vezi și

  • metoda reduceRight,
    care execută o operație similară
  • metoda filter,
    care permite filtrarea elementelor array-ului
  • metodele map și forEach,
    care permit aplicarea unei funcții pentru fiecare element al array-ului
  • metodele some și every,
    care efectuează verificarea array-ului
Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge