Как найти сумму значений из массива в JS при помощи reduce?

Довольно часто возникает необходимость посчитать сумму определенных значений в массиве при помощи JS. Один из удобных и коротких путей является использование функции reduce:

Для начала возьмем список:

var users = [
  { name: 'James', postsCount: 3 },
  { name: 'Angelina', postsCount: 12 },
  { name: 'Andrey', postsCount: 16 },
];

Очевидно, что в этом списке мы можем просуммировать postsCount всех пользователей.
Для этого создадим переменную и передадим в нее результат выполнения функции reduce:

var postsTotal = users.reduce(function(prev, cur) {
  return prev + cur.postsCount;
}, 0);

Проверяем результат (смотрим postsTotal):

console.log('Total Posts:', postsTotal);

Результат:

Total Posts: 31

Таким образов reduce позволяет легко получить доступ к определенным значениям массива и просуммировать их.
Наверх