Javascript indexOf不在int数组上工作
代码: name的所有可能值都在数组中,但由于某些原因,indexOf()从未找到它们。怎么了?试试这个:Javascript indexOf不在int数组上工作,javascript,indexof,Javascript,Indexof,代码: name的所有可能值都在数组中,但由于某些原因,indexOf()从未找到它们。怎么了?试试这个: 301 300,299,301,290,303,304,302,310,291,306,308,305,307,292,294,295,309 -1 300 您是否将数字与字符串进行比较?这不是您在这里特别看到的问题,但值得指出的是,Array.indexOf()在IE8及更低版本上不可用。看这里:。@pseudosavant是的,我知道。希望不会有太大的问题stackoverflow链
301
300,299,301,290,303,304,302,310,291,306,308,305,307,292,294,295,309
-1
300
您是否将数字与字符串进行比较?这不是您在这里特别看到的问题,但值得指出的是,
Array.indexOf()
在IE8及更低版本上不可用。看这里:。@pseudosavant是的,我知道。希望不会有太大的问题stackoverflow链接有一个polyfill,可以在需要时为IE6-8添加对Array.indexOf()
的支持。我喜欢每天只支持IE9和更高版本,但是仍然有很多IE8用户。@gta0004很乐意帮助。^^^^@gta0004:显然,name
不是int。@SLaks-hehe这很可能是真的
@gta004输出typeof name
,您将看到^^^或者,简单地将键转换为int:array.indexOf(+名称)
。
301
300,299,301,290,303,304,302,310,291,306,308,305,307,292,294,295,309
-1
300
...
var index = js_array.indexOf(parseInt(name, 10)); // so that it does not try to compare strings...
...