亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 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 關注
  • 152 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號