Metod reduce
Metod reduce massivi
bir dəyərə endirir (reduksiya edir). Məsələn,
bu metodun köməyi ilə massiv elementlərinin cəmini
asanlıqla tapmaq olar (yəni massiv bir dəyərə -
elementlərin cəminə endirilir).
Metod reduce ilk parametr kimi
funksiyanı qəbul edir, hansı ki, massivin birinci elementindən başlayaraq
hər bir elementi üçün ardıcıl olaraq icra olunacaq.
Bu funksiyaya 4 parametr ötürülə bilər.
Əgər bu parametrlər mövcuddursa (onlar məcburi deyil),
onda birinci avtomatik olaraq aralıq
nəticə, ikinciyə massivin elementi, üçüncüyə - onun massivdəki nömrəsi (indeks),
dördüncüyə isə - massivin özü daxil olacaq.
Aralıq nəticə - bu, metod reduce massivin
bütün elementlərini gəzdiyi zaman qaytaracağı dəyərin
yığılacağı dəyişəndir. Məsələn,
ora ardıcıl olaraq massiv elementlərinin cəmini
yığmaq olar: əvvəlcə birinci elementi qoymaq,
tsiklin növbəti gedişində artıq birinci
elementlə ikincinin cəmini, növbəti
gedişdə isə - birinci, ikinci və üçüncünün cəmini.
Və s, massiv bitənə qədər.
reduce tərəfindən qəbul edilən funksiya
aralıq nəticənin yeni dəyərini qaytarmalıdır.
Metod reduce-in ikinci parametrində
aralıq nəticənin başlanğıc dəyəri göstərilir.
Əgər o göstərilməsə, onda o massivin birinci
elementinə bərabər olacaq, və elementlərin emalı
ikinci elementdən başlayacaq.
Sintaksis
massiv.reduce(function(aralıqNəticə, element, indeks, massiv) {
return yeniAralıqNəticə;
}, başlanğıcDəyər);
Nümunə
Massiv elementlərinin cəmini tapaq:
let arr = [1, 2, 3, 4, 5, 6];
let res = arr.reduce(function(sum, elem) {
return sum + elem;
}, 0);
console.log(res);
Kodun icrasının nəticəsi:
21
Nümunə
Gəlin massivin bütün müsbət ədədlərinin cəmini tapaq:
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);
Kodun icrasının nəticəsi:
10