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

javascriptmassiv.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:

javascriptlet 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:

javascript21

Nümunə

Gəlin massivin bütün müsbət ədədlərinin cəmini tapaq:

javascriptlet 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:

javascript10

Həmçinin bax

  • metod reduceRight,
    oxşar əməliyyatı yerinə yetirir
  • metod filter,
    massiv elementlərini süzməyə imkan verir
  • metodlar map və forEach,
    massivin hər bir elementinə funksiya tətbiq etməyə imkan verir
  • metodlar some və every,
    massivin yoxlanışını yerinə yetirir