Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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 将空输入添加到值为0的数组中_Javascript_Arrays_Input - Fatal编程技术网

Javascript 将空输入添加到值为0的数组中

Javascript 将空输入添加到值为0的数组中,javascript,arrays,input,Javascript,Arrays,Input,作为一个项目,我正在构建一个“赤裸裸”的预算网络应用程序。我有一张表格,上面有许多输入,用来填写收入来源和金额 <form> <div class="form-group"> <input type="text" class="form-control" id="incomeSrc1" placeholder="Enter Source" name="incomeSrc"> <input type="text"

作为一个项目,我正在构建一个“赤裸裸”的预算网络应用程序。我有一张表格,上面有许多输入,用来填写收入来源和金额

<form>
      <div class="form-group">
        <input type="text" class="form-control" id="incomeSrc1" placeholder="Enter Source" name="incomeSrc">
        <input type="text" class="form-control" id="incomeSrc2" placeholder="Enter Source" name="incomeSrc">
        <input type="text" class="form-control" id="incomeSrc3" placeholder="Enter Source" name="incomeSrc">
        <input type="text" class="form-control" id="incomeSrc4" placeholder="Enter Source" name="incomeSrc">
      </div>
    </form>

它们都没有返回true(执行随后的代码)


为什么AMOUNTAR或空incAmount与NaN/null/undefined相比不为真?

在比较之前,您应该在条件中使用
parseFloat
将空值转换为
NaN

-或者,您应该在条件中使用
amountArr[i]
来检查它是否为
NaN

此外,还应使用
isNaN
函数检查
NaN

if (isNaN(amountArr[i])) {
   amountArr[i] = 0;

我找到了一个有效的解决方案

for (var i = 0; i < incAmount.length; i++) {
         amountArr[i] = parseFloat(incAmount[i].value) || 0;
for(变量i=0;i

数组amountArr将为所有空输入显示0。

定义了
incAmount
的位置?您可以在它前面加上0以避免检查。如果它不是NaN,则将值.var incAmount=document.getElementsByName(“incAmount”);插入到function@AnthonyVoelker我也试过类似的方法.value!==NaN然后插入值,ELSE=0。这也不起作用…我在上一次尝试中尝试使用parseFloat,但它抛出了一个未捕获的TypeError:无法读取HTMLInputElement.Add3处未定义的属性“value”。请检查填充
incAmount
数组的位置。确保您放置了该值并且该值生效。inc的值Amount是一个节点列表,如上所述,编辑您的问题以包括设置
incAmount
数组的部分
if (amountArr[i].value !== NaN)
if (isNaN(amountArr[i]))
if (isNaN(amountArr[i])) {
   amountArr[i] = 0;
for (var i = 0; i < incAmount.length; i++) {
         amountArr[i] = parseFloat(incAmount[i].value) || 0;