我有一個數組數組。該數組可能包含一個零。檢查數組是否包含數字(用0發行)
如何檢查數組是否包含數字?我目前這樣做:
if (Number(arr. value(pos)) != false)
然而,這考慮了0
假了。所以如果數組中有0,它會認爲它就好像數組是空的一樣。
我該如何克服這個問題?
我有一個數組數組。該數組可能包含一個零。檢查數組是否包含數字(用0發行)
如何檢查數組是否包含數字?我目前這樣做:
if (Number(arr. value(pos)) != false)
然而,這考慮了0
假了。所以如果數組中有0,它會認爲它就好像數組是空的一樣。
我該如何克服這個問題?
試試這個:
if (Number(arr. value(pos)) !== false)
!=
做了 「falsy」 檢查。 0, undefined, false, null, '',
和NaN
都是虛假的。其他一切都是「真理」。如果您只想測試虛假(而不是所有其他虛假陳述),則必須使用===
或!==
。儘量避免!=
和==
,因爲如果大多數的時候,你實際上意味着!==
和===
可能是一個解決方案。它檢查數字是否大於零。
koenp的回答是完全正確的,但在這種情況下 if (!isNaN(arr. value(pos)))
可能更可取。另外,它可能會更快。 http://www.w3schools.com/jsref/jsref_isnan.asp
我猜他可以做'if(Number(arr。value(pos))'這將評估爲true – elclanrs 2012-04-11 19:39:58
他不能這樣做,因爲Number(arr。value(0))'計算結果爲false – AlexMA 2012-04-11 19:48:30