使用 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]);
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]);