我将学生列表显示在页面中,并将学生信息存储为具有id和name的对象。
如果列表中有滚动条,我想添加搜索框来搜索学生。
并根据所述搜索字符串更新学生列表。
现在,我正在迭代学生对象数组,并检查名称中搜索字符串的索引。
有没有更好的算法来提高性能。
//我的代码:
queryString= function(data,search ){ var res = new array();for(数据中的stu){ if(stu.name.search(queryString) != -1){ res.push(stu);}} return res;}
发布于 2011-04-01 15:05:27
您可以构建排序索引并使用二进制搜索。多个索引,如果你需要通过多个条件进行搜索,例如名称或ID。比树更容易实现。
发布于 2011-03-31 23:29:57
你需要寻找一个trie数据结构,或者一个基数trie,或者一个压缩了空节点的crit-bit trie。您希望查找kart-trie,它是基数trie的一个特殊版本,其中一个节点中只有两条边。一般而言,trie适合文本搜索算法,例如字典。我在phpclasses.org上用php实现了kart-trie ( kart-trie )。欢迎下载并试用。
https://stackoverflow.com/questions/5500579
复制相似问题