Javascript数组indexOf返回未定义的

Javascript数组indexOf返回未定义的,javascript,arrays,undefined,indexof,Javascript,Arrays,Undefined,Indexof,调用我的函数时,issFullArray.indexOf(issToCheck)总是返回undefined。我运行了一个.length,输出了issFullArray的内容,我不明白为什么它不工作-我觉得这个数组很好。正如您在下面看到的,我已尝试显式地将issArray设置为数组,并复制我的getIssList()返回的数组 函数updateIss(){ var-issArray=[]; var currService=当前的业务服务; var currIss=当前的.u_是_服务; issAr

调用我的函数时,
issFullArray.indexOf(issToCheck)
总是返回
undefined
。我运行了一个
.length
,输出了
issFullArray
的内容,我不明白为什么它不工作-我觉得这个数组很好。正如您在下面看到的,我已尝试显式地将
issArray
设置为数组,并复制我的
getIssList()返回的数组

函数updateIss(){
var-issArray=[];
var currService=当前的业务服务;
var currIss=当前的.u_是_服务;
issArray=getIssList(currService).slice();//getIssList()返回arry
if(checkIss(issArray,currIss)==false){
//做事
}
}
函数检查ISS(issFullArray,issToCheck){
if(issFullArray.indexOf(issToCheck)<0){
返回false;
}否则{
返回true;
}
}

最简单的方法是在数组中循环并比较每个值,如果存在匹配项,则返回true,否则返回false。没有太多的代码,适用于所有浏览器

function checkIss(issFullArray, issToCheck) {
    for(i=0; i<issFullArray.length; i++) {
        if(issFullArray[i]==issToCheck) {
            return true;
        }
    }
    return false;
}
函数检查ISS(issFullArray,issToCheck){

对于(i=0;我是否使用支持array.indexOf.IE的浏览器我尝试过IE9、Firefox 15和Chrome 24。是否真的有不支持indexOf()的浏览器?如果你问我,那就有点傻了……将ISSRARY的范围设为全局范围,不要将其传递给你的checkIss()函数,看看它是否工作谢谢你的评论,但似乎是我正在编写的软件不支持indexOf。我觉得这样一个简单的函数不受支持有点奇怪,但是嘿,我会提出一个bug,看看会发生什么!谢谢ElPedro,看起来我不会使用它了!
function checkIss(issFullArray, issToCheck) {
    for(i=0; i<issFullArray.length; i++) {
        if(issFullArray[i]==issToCheck) {
            return true;
        }
    }
    return false;
}