Array.prototype.reduce
Сводит массив к одному значению.
Доступно с: ES5
Синтаксис
array.reduce(callbackFn, initialValue)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| callbackFn | Function | Функция, которая получает накопленное значение и очередной элемент и возвращает новое накопленное значение. |
| initialValue | any | Начальное накопленное значение. |
Возвращаемое значение
anyИтоговое накопленное значение.
Примеры
Сумма чисел:
console.log([1, 2, 3, 4].reduce((sum, n) => sum + n, 0));Результат:
10Сумма по свойству объектов:
const orders = [{ total: 100 }, { total: 250 }];
console.log(orders.reduce((sum, order) => sum + order.total, 0));Результат:
350Примечания
Всегда передавайте начальное значение: без него вызов для пустого массива вызывает ошибку.
См. также
- Array.prototype.map — Создаёт новый массив, преобразуя каждый элемент.
- Array.prototype.forEach — Выполняет функцию для каждого элемента массива.
- Array.prototype.reduceRight — Сворачивает массив в одно значение, проходя справа налево.
- Object.groupBy — Группирует элементы массива по ключу.
Вопросы и ответы по теме
В учебнике
- map, filter и reduce — Три главных метода обработки массивов в JavaScript: преобразование, отбор и сведение к одному значению.