我尝试在列表中搜索“ego d16”,例如
- self 法拉d16
- self d16
- self d22
- d16 self
- 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/