Zapoznając się z tym artykułem dowiesz się do czedo służy metoda Array.prototype.reduce() w JS. Zapoznasz się też z przykładami użycia tej metody.
Do czedo służy recude() w JS (Array)?
Metoda reduce() jest funkcją, która pozwala na przetworzenie wszystkich elementów tablicy w taki sposób, aby uzyskać jeden wynik.
Możesz użyć metody reduce(), gdy chcesz:
- zsumować wszystkie elementy tablicy,
- obliczyć średnią z jej elementów,
- połączyć wszystkie elementy tablicy w jednym ciągu tekstu,
- i nie tylko

Jaka jest składnia metody reduce() w JS (Array)?
Składnia metody reduce() wygląda następująco:
array.reduce(function(accumulator, currentValue, currentIndex, array) {
// tutaj możesz wpisać kod, który określa, jak przetworzyć tablicę
}, initialValue);functionto funkcja, która jest wywoływana dla każdego elementu tablicy. Funkcja ta ma cztery argumenty:accumulatorto akumulator, który przechowuje wartość po przetworzeniu dotychczasowych elementów tablicy. Zaczyna on odinitialValue, jeśli zostanie on podany, lub od pierwszego elementu tablicy, jeśliinitialValuenie zostanie podane.currentValueto bieżąca wartość elementu tablicy, z którą jest wywoływana funkcja.currentIndexto indeks bieżącego elementu tablicy, z którą jest wywoływana funkcja.arrayto cała tablica, z którą jest wywoływana funkcja.
initialValue(opcjonalne) to wartość początkowa, która jest używana jako pierwszy argument funkcjifunction. Jeśli nie zostanie podana, pierwszy element tablicy zostanie użyty jakoinitialValue.
Przykłady użycia metody reduce() w JS (Array)
Zapoznaj się z poniższymi przykładami i dokładnie je przeanalizuj. Analiza kodu to dobry sposób na naukę programowania.
Sumowanie elementów tablicy
W poniższym przykładzie zaczynamy od initialValue równego 0. Następnie dla każdego elementu tablicy dodajemy jego wartość do accumulator i zwracamy nową wartość accumulator. W ten sposób otrzymujemy sumę wszystkich elementów tablicy.
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce(function(accumulator, currentValue) {
return accumulator + currentValue;
}, 0); // sum = 15Obliczanie średniej z elementów tablicy
W tym przykładzie również używamy initialValue równego 0. Dla każdego elementu tablicy dodajemy jego wartość do accumulator, a na końcu dzielimy accumulator przez długość tablicy, aby otrzymać średnią z jej elementów.
const numbers = [1, 2, 3, 4, 5];
const average = numbers.reduce(function(accumulator, currentValue, currentIndex, array) {
accumulator += currentValue;
if (currentIndex === array.length - 1) {
return accumulator / array.length;
}
return accumulator;
}, 0); // average = 3