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

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


当前回答

也可以使用reduceRight。

[1,2,3,4,5,6].reduceRight(function(a,b){return a+b;})

其结果输出为21。

参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/ReduceRight

其他回答

我是JavaScript和一般编码的初学者,但我发现一种简单易行的方法可以将数组中的数字相加,如下所示:

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

基本上,我想贡献这一点,因为我没有看到很多不使用内置函数的解决方案,而且这种方法很容易编写和理解。

一小段JavaScript代码就能完成这项工作:

var numbers = [1,2,3,4];
var totalAmount = 0;

for (var x = 0; x < numbers.length; x++) {

    totalAmount += numbers[x];
}

console.log(totalAmount); //10 (1+2+3+4)

考虑到您拥有阵列

const arr = [1, 2, 3, 4];

对我来说,最直观的方法是使用For in

let sum = 0;
for(var value in arr) {
    sum += arr[value];
}

console.log('Array:', arr);
console.log('Sum:', sum);

然而,您也可以使用箭头函数和reduce函数

const sum = arr.reduce(function (a, b) {
    return a + b;
}, 0);

console.log('Array:', arr);
console.log('Sum:', sum);

他们都会输出

Array: [ 1, 2, 3, 4]
Sum: 10

您可以使用for of循环求和,如下所示:

let arr = [1, 2, 3, 4];
let total = 0;
for (let i of arr) {
  total += i;
}
console.log(total)

为什么不减少?这通常有点反直觉,但使用它求和非常简单:

var a = [1,2,3];
var sum = a.reduce(function(a, b) { return a + b; }, 0);