检查数组中的通配符匹配[重复]

问题描述 投票:-1回答:3

这个问题在这里已有答案:

使用indexOf函数,如何在搜索数组以获得通配符匹配时获得正面结果,如下所示?我目前得到的只是一个负面结果:( - 1)

function test() {
    var arr = ["OTHER-REQUEST-ASFA","OTHER-REQUEST-ASFB","OTHER-REQUEST-ASFC"]
    var a = arr.indexOf("ASFB")
    alert(a)
}
javascript arrays regex
3个回答
1
投票

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');
  }

});

3
投票

var arr = ["OTHER-REQUEST-ASFA","OTHER-REQUEST-ASFB","OTHER-REQUEST-ASFC"]
var a = arr.filter(s => s.includes("ASFB"));
console.log(a);

0
投票

您需要循环遍历数组并将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)
© www.soinside.com 2019 - 2024. All rights reserved.