108 of 264 menu

Метод reduce

Методът reduce свива масив до една стойност (редуцира). Например, с помощта на този метод може лесно да се намери сумата на елементите на масив (т.е. масивът се свежда до една стойност - сумата на елементите).

Първият параметър на метода reduce получава функция, която последователно ще се изпълни за всеки елемент от масива, започвайки от първия. В тази функция могат да се подават 4 параметъра. Ако тези параметри съществуват (не са задължителни), тогава в първия автоматично ще влезе междинен резултат, във втория ще влезе елементът от масива, в третия - неговият номер в масива (индекс), а в четвъртия - самият масив.

Междинен резултат - това е променлива, в която ще се натрупва стойността, която методът reduce ще върне, когато премине през всички елементи на масива. Например, там последователно може да се натрупва сумата на елементите от масива: първо се поставя първият елемент, при следващото преминаване на цикъла вече сумата от първия елемент и втория, при следващото преминаване - сумата от първия, втория и третия. И така, докато масивът не свърши. Функцията, която приема reduce, трябва да връща новата стойност на междинния резултат.

Вторият параметър на метода reduce указва началната стойност на междинния резултат. Ако не е указана, тя ще бъде равна на първия елемент от масива, а обработката на елементите ще започне от втория елемент.

Синтаксис

масив.reduce(function(междинен резултат, елемент, индекс, масив) { return нов междинен резултат; }, начална стойност);

Пример

Да намерим сумата на елементите от масив:

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

Резултат от изпълнението на кода:

21

Пример

Да намерим сумата на всички положителни числа от масив:

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

Резултат от изпълнението на кода:

10

Вижте също

  • метод reduceRight,
    изпълняващ подобна операция
  • метод filter,
    който позволява филтриране на елементи от масив
  • методи map и forEach,
    които позволяват прилагане на функция към всеки елемент от масив
  • методи some и every,
    изпълняващи проверка на масив
Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне