javascript中数字数组的求和
在这里,我想从用户那里获取输入。将它们拆分并存储到数组中。然后显示数组数的总和 总和实验javascript中数字数组的求和,javascript,arrays,reduce,Javascript,Arrays,Reduce,在这里,我想从用户那里获取输入。将它们拆分并存储到数组中。然后显示数组数的总和 总和实验 总和是 函数系列函数() { value=document.getElementById(“序列输入”).value; //在数组中拆分字符串 value\u arr=value.split(“”); 警报(值_arr); //调用reduce方法求和 var sum=值arr.reduce(get_sum,0); //分配结果 document.getElementById(“sum”).innerH
总和是
函数系列函数()
{
value=document.getElementById(“序列输入”).value;
//在数组中拆分字符串
value\u arr=value.split(“”);
警报(值_arr);
//调用reduce方法求和
var sum=值arr.reduce(get_sum,0);
//分配结果
document.getElementById(“sum”).innerHTML=sum;
警报(总和);
函数get_sum(总计、当前值){
总计+=当前值;
返回总数;
}
}
如果在get\u sum函数中获取的currentValue为字符串,请尝试设置为整数。你可以这样做:
function get_sum(total, currentVal) {
currentVal = parseInt(currentVal);
total += currentVal;
return total;
}
您需要将代码修改为:
function get_sum(total, currentVal) {
total += +currentVal;
return total;
}
注意+
前面的currentVal
。这将把字符串转换为数字,而不仅仅是int
。这样做的好处是,如果你输入三个值,比如1.1.2 1.3,你会得到6.6的总和。
在前面没有这一点的情况下,您是在执行字符串连接,而不是执行您想要执行的求和
函数系列函数(){
value=document.getElementById(“序列输入”).value;
//在数组中拆分字符串
value\u arr=value.split(“”);
警报(值_arr);
//调用reduce方法求和
var sum=值arr.reduce(get_sum,0);
//分配结果
document.getElementById(“sum”).innerHTML=sum;
警报(总和);
函数get_sum(总计、当前值){
总计+=+currentVal;
返回总数;
}
}
求和是
不确定问题是什么?有关调试,请参阅使用console.log
而不是alert
。currentVal
是字符串,而不是数字whatever+string
始终是字符串串联,而不是数字加法。破折号,不能通过使用parseInt
将数字设为整数。我想他会理解艾哈迈德所犯的错误。您可以使用Number(currentVal),它将为您提供整数或浮点值。顺便说一句,+currentVal是做事的简捷方法。谢谢你指出。不需要。
function get_sum(total, currentVal) {
total += +currentVal;
return total;
}