我有一组本地存储的数据,我用来使用用户输入的文本来过滤列表。
var userData = {
"product": [
{ "name":"cannon",
"type":"camera",
"serialno":"c123",
"stock":10,
"img":"http://placehold.it/400x250/000/fff",
"Description":"blablabla"
},
{ "name":"cannon2",
"type":"camera2",
"serialno":"c124",
"stock":1,
"img":"http://placehold.it/400x250/fff/000",
"Description":"blablabla"
}
]
};
if (event.keyCode != 13){
var isFound = false;
for(var i=0;i<userData.product.length;i++){
var strings = userData.product[i].name.split(" ");
for(var string in strings){
if(strings[string].startsWith(data)){
result += openTag +userData.product[i].name+closeTag;
isFound=true;
break;
}
}
}
if(!isFound){
result = openTag + "No Result Found" +closeTag;
console.log(result);
}
}
这里我使用循环归档过滤器,但我只是想知道哪种过滤掉列表的最佳方法。
答案 0 :(得分:1)
不要介意所有的消极情绪并使用Lunr或search-index。它们都是能够在浏览器中运行的功能强大的搜索引擎。
如果索引未更改或您的文档/项目很少,请使用Lunr。如果您经常更改索引或许多文档/项目,请使用搜索索引。
免责声明:我使用搜索索引进行了一些工作。
答案 1 :(得分:0)
我刚刚使用HTML元素选择完成此操作,我只是将每个值添加到所有HTML搜索我的选择选项。