@Lion45

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

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


p.s. желательно подробно расписать
  • Вопрос задан
  • 326 просмотров
Решения вопроса 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.
Получается, на каждом шаге мы прибавляем сумму зарплаты и возвращаем это значение.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект