Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как посчитать сумму элементов массива

Короткий ответ

Метод reduce() складывает элементы, начиная с нуля:

console.log([10, 20, 30].reduce((sum, n) => sum + n, 0));

Результат:

60

Среднее значение

Разделите сумму на длину массива. Проверка нужна, чтобы не делить на ноль:

const marks = [4, 5, 3];
const sum = marks.reduce((total, n) => total + n, 0);
 
console.log(marks.length > 0 ? sum / marks.length : 0);

Результат:

4

Сумма по полю

В функции обращайтесь к нужному свойству объекта:

const orders = [{ total: 100 }, { total: 250 }];
 
console.log(orders.reduce((sum, order) => sum + order.total, 0));

Результат:

350

Цикл

То же самое обычным циклом for...of:

let sum = 0;
for (const n of [10, 20, 30]) sum += n;
 
console.log(sum);

Результат:

60

Частая ошибка

Числа из форм и файлов часто приходят строками. Без преобразования + склеивает строки:

const values = ['10', '20', '30'];
 
console.log(values.reduce((sum, n) => sum + n, 0));
console.log(values.reduce((sum, n) => sum + Number(n), 0));

Результат:

0102030
60

Функции из этого ответа

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.