Подтвердить что ты не робот

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

Я пытаюсь найти самый быстрый способ вычислить сумму элементов, содержащихся в массиве.
Мне удалось сделать это с помощью eval(), но я считаю eval злым.

var arr = [10,20,30,40,50];
console.log( eval( arr.join('+') ) ); //logs 150

Есть ли лучший способ сделать это, кроме использования for loop?

Я думал о чем-то подобном, но он не работает:

var arr = [10,20,30,40,50];  

console.log( new Number( arr.join('+') ) ); //logs a Number Object  

console.log( new Number( arr.join('+') ).toString() ); //logs NaN
4b9b3361

Ответ 1

Если поддерживается, вы можете использовать reduce метод Array

var arr = [10, 20, 30, 40, 50];

console.log(arr.reduce(function(prev, cur) {
    return prev + cur;
}));

Ответ 2

Лучший способ - использовать цикл for. Не самый короткий, но лучший.