Способы суммирования элементов массива

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

Суммирование с помощью цикла for

Это один из самых простых и понятных способов. Мы проходим по каждому элементу массива и добавляем его значение к переменной, которая хранит сумму.

const arr = [1, 2, 3, 4, 5];
let sum = 0;

for (let i = 0; i < arr.length; i++) {
  sum += arr[i];
}

console.log(sum); // Вывод: 15

Использование цикла for...of

Этот метод делает код чуть более читабельным, предоставляет более лаконичный синтаксис для итерации по массивам:

const arr = [1, 2, 3, 4, 5];
let sum = 0;

for (const num of arr) {
  sum += num;
}

console.log(sum); // Вывод: 15

Суммирование с помощью метода forEach

Хотя forEach удобен и прост, его использование для суммирования не всегда является лучшим решением, но его также можно применить:

const arr = [1, 2, 3, 4, 5];
let sum = 0;

arr.forEach(num => {
  sum += num;
});

console.log(sum); // Вывод: 15

Поскольку forEach не возвращает значение, его использование может быть излишним, если вам нужно просто получить результат. В таких случаях метод reduce является более подходящим.

Использование метода reduce

Это один из самых популярных способов для суммирования элементов массива.

const arr = [1, 2, 3, 4, 5];
const sum = arr.reduce((acc, currentValue) => acc + currentValue, 0);

console.log(sum); // Вывод: 15

Здесь мы передаем в метода reduce два аргумента. Первый это – функция, которая принимает два параметра: acc (накопитель) и currentValue (текущий элемент). Вторым аргуметом устанавливается начальное значение накопителя на 0. Далее метод последовательно применяет функцию к каждому элементу массива, аккумулируя результат в накопителе acc.

Суммирование с помощью рекурсии

Если вам нужно решить задачу рекурсивно, это возможно, хотя этот способ менее популярен. Рекурсивный подход позволяет суммировать элементы без использования явных циклов.

const arr = [1, 2, 3, 4, 5];

function sumArray(array) {
  if (array.length === 0) {
    return 0;
  }
  return array[0] + sumArray(array.slice(1));
}

console.log(sumArray(arr)); // Вывод: 15

Функция вызывает сама себя до тех пор, пока массив не станет пустым и в процессе каждая итерация прибавляет первый элемент массива к сумме оставшихся элементов.