Суммирование с помощью цикла 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
Функция вызывает сама себя до тех пор, пока массив не станет пустым и в процессе каждая итерация прибавляет первый элемент массива к сумме оставшихся элементов.