Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中数字数组的求和_Javascript_Arrays_Reduce - Fatal编程技术网

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;
}