我有一个数组数组。该数组可能包含一个零。检查数组是否包含数字(用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