Давайте снова сделаем массивы великолепными!
Как следует из названия, он уменьшает массив до 1 значения (зависит от ценности бизнеса). Он принимает функцию и начальное значение (если не задано, в качестве начального значения будут использоваться первые элементы массива).
Функция применяется к каждому значению в массиве, а результат сохраняется в аккумуляторе.
arr.reduce(fn, initialValue) const fn = (accumulator, arrayElement) = {/* Business logic here */}
Eg:
let employees = [ { name: "Abhinav", salary: 200000 }, { name: "Joey", salary: 400000 }, { name: "Chandler", salary: 10000 } ]
Задача: Мы хотим просуммировать зарплату всех сотрудников. Один из способов — использовать старый способ использования цикла for и сохранения значения или мы можем использовать сокращение, которое мы только что изучили.
let salary = employees.reduce((accumulator, employee) => { return accumulator + employee.salary; }, 0)