108 of 264 menu

Metode reduce

Metode reduce samazina masīvu līdz vienai vērtībai (reducē). Piemēram, ar šīs metodes palīdzību var viegli atrast masīva elementu summu (tas ir, masīvs tiks samazināts līdz vienai vērtībai - elementu summai).

Pirmo parametru metode reduce saņem funkciju, kas secīgi izpildīsies katram masīva elementam, sākot ar pirmo. Šajā funkcijā var padot 4 parametrus. Ja šie parametri ir (tie nav obligāti), tad pirmajā automātiski nonāks starprezultāts, otrajā nonāks masīva elements, trešajā - tā numurs masīvā (indekss), un ceturtajā - pats masīvs.

Starprezultāts - ir mainīgais, kurā uzkrāsies tā vērtība, ko atgriezīs metode reduce, kad izskatīs visus masīva elementus. Piemēram, tur secīgi var uzkrāt masīva elementu summu: vispirms ielikt pirmo elementu, nākamajā cikla gaitā jau summu no pirmā elementa un otrā, nākamajā gaitā - pirmā, otrā un trešā elementa summu. Un tā tālāk, līdz masīvs beigsies. Funkcija, ko pieņem reduce, jāatgriež jaunu starprezultāta vērtību.

Otrajā metodes reduce parametrā tiek norādīta starprezultāta sākotnējā vērtība. Ja tā netiks norādīta, tad tā būs vienāda ar pirmo masīva elementu, un elementu apstrāde sāksies ar otro elementu.

Sintakse

mass.reduce(function(starprezultats, elements, indekss, mass) { return jaunais starprezultats; }, sakotnejāVertība);

Piemērs

Atradīsim masīva elementu summu:

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

Koda izpildes rezultāts:

21

Piemērs

Atradīsim visu pozitīvo skaitļu summu masīvā:

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

Koda izpildes rezultāts:

10

Skatiet arī

  • metode reduceRight,
    kas veic līdzīgu darbību
  • metode filter,
    kas ļauj filtrēt masīva elementus
  • metodes map un forEach,
    kas ļauj pielietot funkciju katram masīva elementam
  • metodes some un every,
    kas veic masīva pārbaudi
Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt