为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 javascript 中迭代可能的空值而不会出现错误

如何在 javascript 中迭代可能的空值而不会出现错误

呼啦一阵风 2023-07-14 14:44:39
我的屏幕上有多达 100 个输入,每个输入要么有一个数值,要么为空(因为它尚未加载到屏幕上),我希望能够获取每个输入的值,然后添加他们一起得到最终值。我尝试使用 for 循环来迭代它们,但是一旦到达空值,它就会返回“NaN”错误。第一个输入称为“Input1”,第二个输入称为“Input2”等...我的代码如下:    var val = 0;  //assigning the final value OUTSIDE the for loop to stop it assigning itself as 0 every loop    for (var calc = 0; calc < 100; calc++) //less than 100 as of 100 inputs    {        var inputVal = $('#Input'+calc).val(); //grabbing each input on screen        var floatVal = parseFloat(inputVal);  // converting each value to float        var finalVal = finalValue + floatVal; //takes the val of 0, and adds each input value onto it per loop    }    alert(finalVal);这总是返回“NaN”。例如,如果我将 for 循环设置为“calc < 2”,并在屏幕上加载 2 个输入,它将起作用,所以我假设它是因为其他值为空?
查看完整描述

1 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

Number.isNaN(value)如果值为 ,您可以使用该函数跳到下一个循环迭代NaN。


请注意,您在代码中声明了它val,但从不使用它,而是finalVal在每个循环上声明一个新的。finalVal您应该在循环之前声明并在每次迭代时添加到循环中,如下所示:


var finalVal = 0;

for (var i = 0; i < 100; i++)

{

    var inputVal = $('#Input'+i).val();

    var floatVal = parseFloat(inputVal);

    if (Number.isNaN(floatVal)) 

    {

        continue;

    }

    finalVal += floatVal;

}

alert(finalVal);


查看完整回答
反对 回复 2023-07-14
  • 1 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信