Ответ 1
Если поддерживается, вы можете использовать reduce метод Array
var arr = [10, 20, 30, 40, 50];
console.log(arr.reduce(function(prev, cur) {
return prev + cur;
}));
Я пытаюсь найти самый быстрый способ вычислить сумму элементов, содержащихся в массиве.
Мне удалось сделать это с помощью 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
Если поддерживается, вы можете использовать reduce метод Array
var arr = [10, 20, 30, 40, 50];
console.log(arr.reduce(function(prev, cur) {
return prev + cur;
}));
Лучший способ - использовать цикл for. Не самый короткий, но лучший.