【发布时间】:2013-02-05 12:13:25
【问题描述】:
当调用我的函数checkIss(),issFullArray.indexOf(issToCheck) 总是返回undefined。我运行了.length,输出了issFullArray 的内容,但我不知道为什么它不起作用——数组对我来说看起来不错。正如您在下面看到的,我尝试将issArray 显式设置为一个数组并复制我的getIssList() 返回的数组
function updateIss() {
var issArray = [];
var currService = current.u_business_service;
var currIss = current.u_is_service;
issArray = getIssList(currService).slice(); //getIssList() returns an arry
if (checkIss(issArray, currIss) === false) {
//do stuff
}
}
function checkIss(issFullArray, issToCheck) {
if (issFullArray.indexOf(issToCheck) < 0) {
return false;
} else {
return true;
}
}
【问题讨论】:
-
您使用的浏览器是否支持array.indexOf。
-
IE indexOf()。
-
我试过 IE9、Firefox 15 和 Chrome 24。真的有不支持 indexOf() 的浏览器吗?如果你问我有点傻......
-
将 issArray 的范围设为全局,不要将其传递给您的 checkIss() 函数,看看它是否有效
-
感谢您的 cmets,但似乎是我正在编写的软件不支持 indexOf。不支持这么简单的功能我觉得有点奇怪,但是嘿嘿,我会提出一个错误,看看会发生什么!
标签: javascript arrays undefined indexof