Давайте снова сделаем массивы великолепными!

Как следует из названия, он уменьшает массив до 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)