Javascript数组indexOf返回undefined

时间:2013-02-05 12:13:25

标签: javascript arrays undefined indexof

调用我的函数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;
    }
}

1 个答案:

答案 0 :(得分:2)

最简单地循环遍历数组并比较每个值,如果匹配则返回true,否则返回false。没有更多的代码,适用于所有浏览器。

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