给定一个数组[1,2,3,4],如何求其元素的和?(在这种情况下,总数为10。)

我认为每个美元可能有用,但我不确定如何实现它。


当前回答

var totally = eval(arr.join('+'))

这样你就可以在阵列中放置各种各样的异国情调的东西。

var arr = ['(1/3)','Date.now()','foo','bar()',1,2,3,4]

我只是半开玩笑。

其他回答

arr.reduce(function (a, b) {
    return a + b;
});

参考:Array.prototype.reduce()

此函数可以将所有数字相加-

 function array(arr){
   var sum = 0;
   for (var i = 0; i< arr.length; i++){
    sum += arr[i];
   }
   console.log(sum);
 }
 array([5, 1, 3, 3])

无需初始值!因为如果没有传递初始值,则不会对列表的第一个元素调用回调函数,而是将第一个元素作为初始值传递。非常酷的功能:)

[1, 2, 3, 4].reduce((a, x) => a + x) // 10
[1, 2, 3, 4].reduce((a, x) => a * x) // 24
[1, 2, 3, 4].reduce((a, x) => Math.max(a, x)) // 4
[1, 2, 3, 4].reduce((a, x) => Math.min(a, x)) // 1
var total = 0;
$.each(arr,function() {
    total += this;
});

我看到所有答案都是“减少”解决方案

var array = [1,2,3,4]
var total = 0
for (var i = 0; i < array.length; i++) {
    total += array[i]
}
console.log(total)