前端之家收集整理的这篇文章主要介绍了
什么是最好的自动建议搜索算法的JavaScript,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
说我有一个对象:
var names = ["john","jane","al","mary","zane" ... 1000+ Names]
我想创建一个自动建议来搜索这些名称.
这样做最有效的方法是什么?我读过创建trie或三元数据结构是最好的,但我不确定如何在js中实现这些.
有什么想法吗?
特里是一个很好的
解决方案.您的数据集看起来像这样:
{"j":
{"a":
["jacob",..],{"o":
["john","joesph",..
};
您可以逐个字符地索引尽可能多的级别(这样最内层的数组可能有20-30个条目.)然后对存储在最内层的数组进行简单搜索.
您可以通过循环遍历您的名称集合来生成此项,然后检查特定索引条目是否存在.如果是这样,请向下一层,检查下一个字符是否存在等,直到达到最深层.然后插入数组,或者如果没有数组则启动新数组.如果在添加新名称时不存在字符级别,则创建它.然后,您希望缓存最终结果,而不是在每个请求上重新生成它.
原文链接:https://www.f2er.com/js/158327.html