使用 jquery 关键字数组的 grep 数组

grep array using keyword array with jquery

dataArray=[
'red|24|easy|simple',
'red|24|moderate',
'red|24|difficult|hard',
'black|24|difficult|hard',
'black|34|difficult|hard'];

我想查找与我的文本框中的所有单词匹配的所有数组项:

'red hard' - matches middle entry
'bl har 3' - matches last entry
'2 b  d h' - matches 4th entry

使用 jquery 似乎很容易找到任何 1 个匹配的搜索词,但如何找到与上述所有词匹配的数组项。

如有任何帮助,我们将不胜感激。

假设data数组是一个数组的数组,你可以用下面的方式Array.filter

首先,我们将输入的字符串按空格拆分并使用String.indexOf,然后我们将过滤掉条目。

var matches = data.filter(function(str){
   return input.split(/\s+/).every(function(elm){
      return str.toLowerCase().indexOf(elm.toLowerCase()) > -1
   }); 
});

现在,假设可以有多个匹配项,我们将过滤后的数组存储在 matches 中。如果你想取第一个结果,那么就做

console.log(matches[0]);