/
Вопросы и ответы
/
JavaScript
/

Как сложить все элементы массива js

Как сложить все элементы массива js

4 года назад

Человек-Молекула

Ответы

2

Можно использовать обычный цикл, но есть более красивое решение. Метод reduce(), принимает в качестве аргумента массив и колбек функцию, которая применяется к каждому элементу массива и таким образом позволяет найти их сумму. Вот пример:

const numbers = [1, 2, 3, 4];
const sumOfNumbers = numbers.reduce((acc, number) => acc + number, 0);
console.log(sumOfNumbers); // => 10

4 года назад

Roman Ashikov

1

Немного улучшу reduce.

const numbers = [1, 2, 3, 4]; const sumOfNumbers = numbers.reduce((acc, number) => acc + number);

А за такое использование map могут и побить. Если уж и хочется из цикла что-то менять снаружи (что почти всегда плохая идея), то для этого используют forEach. Map возвращает значение, которое должно быть использовано. И map не должен менять ничего извне. Иначе код становится сложноподдерживаемым.

3 года назад

Ixplo

0

Помимо стандартного перебора значений и красивого метода reduce(), можно воспользоваться функцией высшего порядка map:

const numbers = [1, 2, 3];
let sum = 0;
numbers.map((item) => sum += item);
console.log(sum); // => 6

И для любителей библиотеки Lodash доступен метод _.sum():

const numbers = [1, 2, 3];
console.log(_.sum(numbers)); // => 6

Документация:

_.sum()

3 года назад

Виктория Аблаева