我正在尝试找到计算数组中包含的元素总和的最快方法
我设法使用eval()
,但我考虑eval as evil。
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
答案 0 :(得分:17)
最好的方法是使用for循环。不是最短的,但却是最好的。
答案 1 :(得分:17)
如果支持,您可以使用Array
var arr = [10, 20, 30, 40, 50];
console.log(arr.reduce(function(prev, cur) {
return prev + cur;
}));
答案 2 :(得分:1)
For循环也更好,因为数组扩展了对象
var arr = [10, 20, 30, 40, 50];
var sum = 0;
for(var i = 0; i < arr.length; i++){
sum = sum + arr[i];
}
console.log("Sum of array = ",sum);