Javascript 从文本区域添加输入数字

Javascript 从文本区域添加输入数字,javascript,html,arrays,Javascript,Html,Arrays,我是JavaScript新手。。 试图从输入文本区域添加数字,但我只是将数组作为输出。。 有人能纠正这个错误并给我解决办法吗。。 提前谢谢 函数arraynum(){ var numbers=数组(document.getElementById(“sumofnumbers”).value); var sumresult=numbers.reduce((a,b)=>a+b,0); document.getElementById(“sumresult”).innerHTML=sumresult;

我是JavaScript新手。。 试图从输入文本区域添加数字,但我只是将数组作为输出。。 有人能纠正这个错误并给我解决办法吗。。 提前谢谢

函数arraynum(){
var numbers=数组(document.getElementById(“sumofnumbers”).value);
var sumresult=numbers.reduce((a,b)=>a+b,0);
document.getElementById(“sumresult”).innerHTML=sumresult;
}


只需在数字之间使用分隔符,并根据分隔符进行拆分,然后循环遍历值并获得所需的输出

这里我使用
作为分隔符

函数arraynum(){
var numbers=document.getElementById(“sumofnumbers”).value.split(“,”).filter(布尔值)
var sumresult=数字。减少((a,b)=>a+(+b),0);
document.getElementById(“sumresult”).innerHTML=sumresult;
}


您的基本问题在于以下几行:

var numbers = Array(document.getElementById("sumofnumbers").value);
构造函数不会将您的输入转换为一个字符数组,而是将您的输入文本封装在一个数组中,例如:
数组(“1,2,3”)
给出
[“1,2,3”]
,它不会像您所想的那样给出
[“1”、“2”、“3”]

将输入拆分为字符数组的一种简单方法是在格式正确的数组上使用
JSON.parse()
方法。如果您这样做,那么您的数组将是一个数字数组,而不仅仅是一个单个元素的数组(即:您的输入字符串)

函数arraynum(){
var numbers=JSON.parse(“[”+document.getElementById(“sumofnumbers”).value+“]);
var sumresult=numbers.reduce((a,b)=>a+b,0);
document.getElementById(“sumresult”).textContent=sumresult;//使用.textContent而不是.innerHTML,因为'sumresult'是纯文本结果
}


嘿,尼克,结果是NaN@ShylendherReddy您好,it product
NaN
的输入是什么?我在文本区域中输入了1,2,3,输出是NaNY您需要在
上拆分,否则
1,2,3
将产生
[“1”、“,”2”、“,”3”]
将在每个character@ShylendherReddy您好,我以为您的输入是
“123”
,我没有意识到它是逗号分隔的。我已经更新了我的代码。非常感谢您,我得到了所需的输出。但是我不理解过滤器(布尔值)的用途@ShylendherReddy要删除
falsy
值,假设您有字符串
1,,,,2
,因此拆分将返回
[1,“,”,2]
@ShylendherReddy总是乐于帮助:),如果有帮助,您可以标记为正确答案:)