使用javascript过滤列表

时间:2018-04-02 18:04:30

标签: javascript jquery html

我有一组本地存储的数据,我用来使用用户输入的文本来过滤列表。

 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);                    
                        }
                }

这里我使用循环归档过滤器,但我只是想知道哪种过滤掉列表的最佳方法。

2 个答案:

答案 0 :(得分:1)

不要介意所有的消极情绪并使用Lunrsearch-index。它们都是能够在浏览器中运行的功能强大的搜索引擎。

如果索引未更改或您的文档/项目很少,请使用Lunr。如果您经常更改索引或许多文档/项目,请使用搜索索引。

免责声明:我使用搜索索引进行了一些工作。

答案 1 :(得分:0)

我刚刚使用HTML元素选择完成此操作,我只是将每个值添加到所有HTML搜索我的选择选项。