有一种方法可以降低indexOf的敏感度吗? 喜欢这个
var arr = ["Hello", "stackoverflow"]
var idx = arr.indexOf("stack")
获取idx = 1而不是idx = -1
答案 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});