уменьшить() является еще одним важным методом массива.
reduce() выполняет функцию обратного вызова для всех элементов массива и позволяет постепенно вычислять результат. Если указано начальное значение , аккумулятор в первой итерации будет равно этому значению.
a.reduce((accumulator, currentValue, currentIndex, array) => {
//...
}, initialValue)Пример:
[1, 2, 3, 4].reduce((accumulator, currentValue, currentIndex, array) => {
return accumulator * currentValue
}, 1)
// iteration 1: 1 * 1 => return 1
// iteration 2: 1 * 2 => return 2
// iteration 3: 2 * 3 => return 6
// iteration 4: 6 * 4 => return 24
// return value is 24
Оригинал: “https://flaviocopes.com/javascript-reduce/”