javascript - 搜索句子中的多个字符串

标签 javascript jquery html search

我尝试在列表中搜索“ego d16”,例如

  1. self 法拉d16
  2. self d16
  3. self d22
  4. d16 self
  5. para ego dela d16

结果必须为第 (1, 2, 4, 5) 行...

我的代码是

var filter = $(this).val(); //like 'ego d16'
$("#rezultate li").each(function () {
    if ($(this)[0].getAttribute('tags').toLowerCase().search(new RegExp(filter, "i")) < 0) {
        $(this).hide();
    } else {
        $(this).show()
    }
});

我的实际结果只有第(2)行

我该如何解决这个问题?谢谢!

最佳答案

我认为这样的事情很简单:

let list = [
    "ego fara d16",
    "ego d16",
    "ego d22",
    "d16 ego",
    "fred flintstone",
    "para ego dworda d16",
    "para d16"
];
let filters = "ego d16".split(/\s+/);


list.filter(phrase => filters.every(word => phrase.indexOf(word) > -1));
//=> ["ego fara d16", "ego d16", "d16 ego", "para ego dworda d16"]

我认为这非常简单。如果不清楚,请告诉我。

关于javascript - 搜索句子中的多个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42194892/

相关文章:

javascript - 使用 jQuery 折叠过滤器

html - 加载多个 webView 时出现错误 -999

javascript - 如何使用 FormData 将文件提交到 MVC Action

javascript - 这是在 javascript 中实现链接的正确方法吗?

javascript - 打开时 Bootstrap 选项卡不显示事件

jquery - 如何使用jquery从html表格中重新排序空白单元格

jquery - 带有旧 jQuery 版本的漂亮 slider

javascript - 根据返回的数据类型应用 if else 条件

javascript - 如何在更新卡片的弹出窗口中获取 2 个 div 值。

html - 滚动条没有激活?