这个问题在这里已有答案:
使用indexOf
函数,如何在搜索数组以获得通配符匹配时获得正面结果,如下所示?我目前得到的只是一个负面结果:( - 1)
function test() {
var arr = ["OTHER-REQUEST-ASFA","OTHER-REQUEST-ASFB","OTHER-REQUEST-ASFC"]
var a = arr.indexOf("ASFB")
alert(a)
}
var arr = ["OTHER-REQUEST-ASFA","OTHER-REQUEST-ASFB","OTHER-REQUEST-ASFC"]
var searchTerm = "ASFB";
arr.forEach(function(str, idx) {
if (str.indexOf(searchTerm) !== -1 ){
console.log(arr[idx] + ' contains "' + searchTerm + '" at index ' + idx + ' of arr');
}
});
var arr = ["OTHER-REQUEST-ASFA","OTHER-REQUEST-ASFB","OTHER-REQUEST-ASFC"]
var a = arr.filter(s => s.includes("ASFB"));
console.log(a);
您需要循环遍历数组并将indexOf
应用于每个单独的字符串,以获得单个输出,您可以使用Array.some
,如果数组中的任何元素包含子字符串,则返回true:
var arr = ["OTHER-REQUEST-ASFA","OTHER-REQUEST-ASFB","OTHER-REQUEST-ASFC"]
var a = arr.some(s => s.indexOf("ASFB") !== -1)
console.log(a)