Funkcja reduce może zostac wykonana na liście i przyjmuje dwa argumenty - callback oraz initialValue:
callbackjest funkcją, która przyjmuje 4 argumenty. Wykonywana jest tyle razy, ile elementów zawiera array.acc- akumulator - jest to wartość, którą zwróciłcallbackw poprzedniej iteracjiel- obecny element iteracjiindex- indeks elementu w tablicyarr- tablica, na której wykonano funkcję reduce.
initialValue- wartość, która trafi docallbackujakoaccw pierwszej iteracji
reduce zwraca wartość, którą zwróciło ostatnie wykonanie callbacku.
Ma wiele zastosowań, może by przydatna np. do obliczenia sumy:
const numbers = [2, 4, 6]; const sum = numbers.reduce((acc, el) => { return acc + el; }, 0); console.log(sum); // 12
...lub zamiany struktury danych z listy na obiekt:
const objs = [ { id: "1", value: "first" }, { id: "2", value: "second" }, ]; const idKeyed = objs.reduce((acc, el) => { acc[el.id] = el.value; return acc; }, {}); console.log(idKeyed); // {1: 'first', 2: 'second'}

