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

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


当前回答

试试这个。。。

function arrSum(arr){
    total = 0;  
    arr.forEach(function(key){
        total = total + key;            
    });
    return total;
}

其他回答

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

参考:Array.prototype.reduce()

有趣的方法:

eval([1,2,3].join("+"))

此外,对于简单数组,使用es6求和。

const sum = [1, 2, 3].reduce((partial_sum, a) => partial_sum + a,0);
 
console.log(sum); 

对于具有默认初始化值的对象数组

const totalAmount = obj => 
    Object.values(obj).reduce((acc, { order_qty, mrp_price }) => 
    acc + order_qty * mrp_price, 0);
    
    console.log(totalAmount); 

对于真正大量的人来说,循环或减少可能是过程密集型的。使用高斯怎么样?

sum = (n * (n+1))/2;

来自mathcentral。

可以将reduce()方法与lambda表达式结合使用:

[1, 2, 3, 4].reduce((accumulator, currentValue) => accumulator + currentValue);