Накратко
reduce() натрупва резултат от последователни стъпки. Началната стойност определя как започва операцията и какво става при празен списък.
Полезно е да знаеш
За сбор на стойности от масив reduce() може да предава натрупания резултат от една стъпка към следващата. Функцията получава акумулатор и текущ елемент; върнатата стойност става акумулатор за следващата стъпка. [1]
Примерът [4, 7, 2].reduce((sum, value) => sum + value, 0) дава 13. Нулата е началната стойност. След обработката на първия елемент сборът е 4, после 11, накрая 13. При празен масив същата операция с начална нула връща 0.
Ако началната стойност липсва, методът използва първия елемент и започва изчислението от следващия. Празен масив без начална стойност води до TypeError. [1]
Не е необходимо всеки цикъл да се превръща в reduce(). За проста сума той е четим; при натрупване с много условия обикновен цикъл може да обяснява работата по-добре. Изборът трябва да помага на следващия човек, който чете кода.
Източници
За повече подробности и проверка на информацията: