Javascript 数组 indexOf 返回未定义

标签 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;
    }
}

最佳答案

最简单的方法就是遍历数组并比较每个值,如果匹配则返回 true,否则返回 false。代码不多,适用于所有浏览器。

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

关于Javascript 数组 indexOf 返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14707302/

相关文章:

c++ - 为什么我应该使用简单的数组而不是容器类?

javascript - Jest 路径映射错误 : Could not locate module xyz mapped as: abc

javascript - Angular 未在我的 json 中渲染 <br>

javascript - 单击复选框时禁用/启用表单文本框,并将文本框的名称作为参数传递给 JavaScript 函数

arrays - 使用 SwiftyJSON 反序列化时如何添加对象数组

javascript - AngularJS - 如何在我的 Controller 中使用通过 Factory GET 请求检索到的数据?

javascript - 使用闭包 : Not working? 循环(使用 jqueryui)

python - 为什么 numpy 数组看起来并不比标准 python 列表快多少?

javascript - 删除具体是如何工作的?

c++ - 基类未定义