9. Czym jest funkcja reduce?

Funkcja reduce może zostac wykonana na liście i przyjmuje dwa argumenty - callback oraz initialValue:

  • callback jest funkcją, która przyjmuje 4 argumenty. Wykonywana jest tyle razy, ile elementów zawiera array.
    • acc - akumulator - jest to wartość, którą zwrócił callback w poprzedniej iteracji
    • el - obecny element iteracji
    • index - indeks elementu w tablicy
    • arr - tablica, na której wykonano funkcję reduce.
  • initialValue - wartość, która trafi do callbacku jako acc w 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'}
devFlipCards 2024

Akceptujesz cookies?

Cookies to niewielkie fragmenty danych zapisywane lokalnie na twoim urządzeniu. Pomagają w funkcjonowaniu naszej strony - zapisują Twoje ustawienia strony takie jak motyw czy język. Poprawiają funkcjonowanie reklam i pozwalają nam na przeprowadzanie analityki odwiedzin strony. Korzystając ze strony zgadasz się na ich wykorzystanie.