使用javascript过滤列表

问题描述 投票:-4回答:2

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

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

在这里,我使用循环存档过滤器,但我只想知道哪个是筛选出列表的最佳方法。

javascript jquery html
2个回答
1
投票

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

如果索引没有更改或您的文档/项目很少,请使用Lunr。如果您经常更改索引或许多文档/项目,请使用search-index。

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.