【问题标题】:How can I find match string in array javascript? [duplicate]如何在数组 javascript 中找到匹配字符串? [复制]
【发布时间】:2020-05-19 11:09:24
【问题描述】:

如何使用 Javascript 在字符串数组中找到匹配项?例如:

var str = "https://exmaple.com/u/xxxx?xx=x";
var filter = ["/u","/p"];
if (!str.includes(filter)){
  return 1;
}

在上面的代码中,我想搜索 var str 是否匹配数组 filter 的这两个值

【问题讨论】:

  • 您的目标不明确。你的意思是要返回数组中匹配元素的index
  • 在上面的代码中,如果匹配这两个数组过滤器索引,我想搜索 var str
  • 这并没有真正弄清楚。令人困惑的是您对“索引”一词的滥用。查找的响应应该是什么?
  • 我的意思是值而不是'索引'

标签: javascript jquery


【解决方案1】:

这应该可行:

var str = "https://exmaple.com/u/xxxx?xx=x";
var filters = ["/u","/p"];

for (const filter of filters) {
  if (str.includes(filter)) {
    console.log('matching filter:', filter);
    break; // return 1; if needed
  }
}

【讨论】:

  • 我已经编辑了问题。
  • 更新了答案。
【解决方案2】:

在您的数组中,您需要找到 includes "/u" 的元素。过滤器将返回一个数组,并且只包含那些包含u的元素

var x = ["https://exmaple.com/u/xxxx?xx=x", "https://exmaple.com/p/xxxx?xx=x"];
let matched = x.filter(item => item.includes("/u"));

console.log(matched)

【讨论】:

    【解决方案3】:

    试试这个:

    var x = ["https://exmaple.com/u/xxxx?xx=x","https://exmaple.com/p/xxxx?xx=x"], i;
    
    for (i = 0; i < x.length; i++) {
      if(x[i].includes('/u')) {
        document.write(x[i]);
      }
    }

    这将遍历所有 URL,并选择其中包含 /u 的 URL。然后它就会打印出来。

    【讨论】:

      猜你喜欢
      • 2022-11-23
      • 2020-12-19
      • 1970-01-01
      • 1970-01-01
      • 2020-06-05
      • 2021-09-19
      • 1970-01-01
      • 2022-10-14
      • 1970-01-01
      相关资源
      最近更新 更多