给定一个数组[1,2,3,4],如何求其元素的和?(在这种情况下,总数为10。)
我认为每个美元可能有用,但我不确定如何实现它。
给定一个数组[1,2,3,4],如何求其元素的和?(在这种情况下,总数为10。)
我认为每个美元可能有用,但我不确定如何实现它。
当前回答
我看到所有答案都是“减少”解决方案
var array = [1,2,3,4]
var total = 0
for (var i = 0; i < array.length; i++) {
total += array[i]
}
console.log(total)
其他回答
这些都是很好的答案,但如果数字是按照问题(1,2,3,4)中的顺序排列的话,你可以通过应用公式轻松地做到这一点(n*(n+1))/2,其中n是最后一个数字
是否有理由不首先过滤数组以删除非数字?看起来很简单:
[1, 2, 3, null, 'a'].filter((x) => !isNaN(x)).reduce((a, b) => a + b)
你可以试试这个:
var arr = [100,114,250,1200];
var total = 0;
for(var i in arr){
total += parseInt(arr[i]);
}
console.log(total);
输出将为:1664
或者,如果值为Float,请尝试以下操作:
var arr = [100.00,114.50,250.75,1200.00];
var total = 0;
for(var i in arr){
total += parseFloat(arr[i]);
}
console.log(total.toFixed(2));
输出将为:1665.25
我看到这是一个老问题,但几乎没有任何答案实际使用jQuery,特别是按照提问者的要求使用$.each。有一种方法可以做到这一点,但许多人建议的本机方法(即使用Array.reduce())要好得多,也更容易。
如果您必须使用jQuery,请使用以下方法:
var arr = [1,2,3,4];
var sum = 0;
$.each( arr, (i, v) => sum += v);
alert(sum); // This will be 10
这正是减薪的工作。
如果您使用的是ECMAScript 2015(又名ECMAScript6):
constsum=[1,2,3]。reduce((partialSum,a)=>partialSum+a,0);console.log(总和);//6.
对于旧的JS:
常量sum=[1,2,3]。reduce(add,0);//数组为空时避免使用初始值函数add(累加器,a){返回蓄能器+a;}console.log(总和);//6.
这不是很漂亮吗?:-)