Javascript - indexOf不那么具体

时间:2014-05-17 18:40:50

标签: javascript jquery

有一种方法可以降低indexOf的敏感度吗? 喜欢这个

var arr = ["Hello", "stackoverflow"]
var idx = arr.indexOf("stack")

获取idx = 1而不是idx = -1

2 个答案:

答案 0 :(得分:4)

你必须为此编写自己的功能。像这样的东西会起作用:

function searchArr(arr, str) {
    for (var i=0;i<arr.length;i++) {
        if (arr[i].indexOf(str) !== -1) return i;
    }
    return -1;
}
searchArr(arr, 'stack');// returns 1

它只是遍历您输入的数组作为第一个参数,并继续前进,直到找到索引,其中该索引处的数组值包含搜索字符串。

答案 1 :(得分:1)

以下将返回一个true和false数组,显示哪些数组元素匹配&#34; stack&#34;。

var arr = ["Hello", "stackoverflow"];
var idx =arr.map(function(s) {return s.indexOf("stack") !== -1});

如果只是想检查是否存在匹配,可以使用

var arr = ["Hello", "stackoverflow"];
var matchFound =arr.some(function(s) {return s.indexOf("stack") !== -1});