JavaScript 自动建议

发布于 2024-12-20 13:20:45 字数 537 浏览 2 评论 0原文

对于类似以下情况的情况,是否有可用于自动建议/完成的库

搜索“Vir”会返回“West Virginia”和“Virginia”

谢谢

编辑

抱歉,没有更多解释。在上面的问题中,我不需要“包含”搜索,而是要在单词边界上进行前缀搜索。因此,“est”不应返回“West Virginia”,而“wes”或“vir”则应该返回。

该列表大约有 500 个项目。

建议的解决方案

我修改了 Mike de Boer 的 trie 实现 https://github.com/mikedeboer /trie 来解决这个问题。我在单词边界上分割了一个项目并将每个单词存储在特里树中。对于每个单词的最后一个字母,我将单词来自的项目的索引存储在 trie 节点中。当用户搜索时,我返回一个索引列表,然后从主列表中获取相应的项目。

你们觉得怎么样?

Is there a library available for Auto Suggest/Complete for cases like the following

Searching for "Vir" returns both "West Virginia" and "Virginia"

Thanks

EDIT

Sorry for not explaining it more. In the problem above, I do not want a "contains" search, but a prefix search on word boundaries. So "est" should not return "West Virginia", but "wes" or "vir" should.

The list is around 500 items large.

Proposed Solution

I modified the trie implementation by Mike de Boer https://github.com/mikedeboer/trie to solve this. I split an item on word boundaries and stored each word in the trie. For the last letter of each word I stored the index of the item that the word came from in the trie node. When user searches, I return a list of indices and then get the corresponding items from the main list.

What do you guys think?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

み零 2024-12-27 13:20:45

首先,在问这样一个直接的问题之前,你应该尝试使用谷歌或搜索上一个问题。

要回答您的问题,您可以使用 jquery-ui,它有许多其他小部件,其中一个称为自动完成。
如果您熟悉 JQuery,这应该很容易实现。

http://jqueryui.com/demos/autocomplete/

First, you should try to use google or search previous question before asking such a straight forward question.

To answer your question, you could use jquery-ui wich has amoung many other widgets one called Autocomplete.
If you're familair with JQuery this should be pretty easy to implement.

http://jqueryui.com/demos/autocomplete/

莫多说 2024-12-27 13:20:45

你可以使用 jquery 自动完成。啊,你自己已经回答了!
http://bit.ly/uXHRR0

you can use jquery autocomplete. ah, you've answered that already by yourself!
http://bit.ly/uXHRR0

jJeQQOZ5 2024-12-27 13:20:45

我修改了 Mike de Boer https://github.com/mikedeboer/trie 的 trie 实现来解决这个问题。我在单词边界上分割了一个项目并将每个单词存储在特里树中。对于每个单词的最后一个字母,我将单词来自的项目的索引存储在 trie 节点中。当用户搜索时,我返回一个索引列表,然后从主列表中获取相应的项目。

I modified the trie implementation by Mike de Boer https://github.com/mikedeboer/trie to solve this. I split an item on word boundaries and stored each word in the trie. For the last letter of each word I stored the index of the item that the word came from in the trie node. When user searches, I return a list of indices and then get the corresponding items from the main list.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文