Задать вопрос
@Lion45

Что делает reduce(prev, current) в данном коде?

Что делает этот кусок кода ?
if (Array.isArray(department)) { 
    return department.reduce((prev, current) => prev + current.salary, 0); 
  }


p.s. желательно подробно расписать
  • Вопрос задан
  • 337 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Считает общую сумму зарплат во всех подразделениях

Перепишем то же самое более наглядно, без стрелочных функций:

let initial = 0;
department.reduce(function callback(prev, current) {
  return  prev + current.salary
}, initial);


Reduce проходит по каждому элементу массива и для каждого вызывает функцию обратного вызова (callback). В этот коллбек передается значение, возвращенное из предыдущей итерации prev (либо initial на первом элементе) и текущий элемент current.
Получается, на каждом шаге мы прибавляем сумму зарплаты и возвращаем это значение.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы