给定一个数组[1,2,3,4],如何求其元素的和?(在这种情况下,总数为10。)
我认为每个美元可能有用,但我不确定如何实现它。
给定一个数组[1,2,3,4],如何求其元素的和?(在这种情况下,总数为10。)
我认为每个美元可能有用,但我不确定如何实现它。
当前回答
为什么不减少?这通常有点反直觉,但使用它求和非常简单:
var a = [1,2,3];
var sum = a.reduce(function(a, b) { return a + b; }, 0);
其他回答
标准JavaScript解决方案:
var addition = [];
addition.push(2);
addition.push(3);
var total = 0;
for (var i = 0; i < addition.length; i++)
{
total += addition[i];
}
alert(total); // Just to output an example
/* console.log(total); // Just to output an example with Firebug */
这对我有用(结果应该是5)。我希望这种解决方案没有隐藏的缺点。
也有人可以使用map()函数对数组值求和。
function sumOfArrVal(arr){
let sum=0;
arr.map(val=>sum+=val)
return sum
}
let result=sumOfArrVal([1,2,3,4])
console.log(result)
了解底层流程的最简单答案:
let array = [10, 20, 30, 40, 50]
let total = 0
for(let i in array)
{
total += array[i]
}
console.log(total)
&如果您已经熟悉底层流程,那么内置方法可以节省您的时间:
let array = [10, 20, 30, 40, 50]
let total = array.reduce((x, y) => x + y)
console.log(total)
使用递归
var sum = (arr) => arr.length === 1 ? arr[0] : arr.shift() + sum(arr);
sum([1,2,3,4]) // 10
试试这个。。。
function arrSum(arr){
total = 0;
arr.forEach(function(key){
total = total + key;
});
return total;
}