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