我在下拉列表中有一个单词列表,我有一个单词正在寻找合适的合作伙伴(用户正在选择它)为了使用户更容易(因为列表可能很长并且过程必须快速) 我想给出一个可能的选择。
我已经看过了我是如何更改所选单词的。
我想找到按字母顺序排列的“最近”选项,但我不知道如何找出哪个单词是最近的 neigbore....
我已经用谷歌搜索了我能想到的所有单词以获得解决方案,但我找不到任何东西。
有人有一个想法我该怎么做吗?
我在下拉列表中有一个单词列表,我有一个单词正在寻找合适的合作伙伴(用户正在选择它)为了使用户更容易(因为列表可能很长并且过程必须快速) 我想给出一个可能的选择。
我已经看过了我是如何更改所选单词的。
我想找到按字母顺序排列的“最近”选项,但我不知道如何找出哪个单词是最近的 neigbore....
我已经用谷歌搜索了我能想到的所有单词以获得解决方案,但我找不到任何东西。
有人有一个想法我该怎么做吗?
该levenshtein
函数将计算 2 个字符串的“接近度”。您可以相对于用户的字符串对您拥有的单词进行排名,并返回具有最低值的字符串。
看看这个库,它包含 javascript 的模糊字符串匹配函数,包括词干、列文斯坦距离和变音:http ://code.google.com/p/yeti-witch/
如果按字母顺序表示从左侧读取的匹配字母,那么答案很简单。只需浏览单词的每个字母并将其与选择下拉列表中的字母进行比较。共享最长起始子字符串的单词是您的“最近的”。
<
javascript 中最简单(可能也是最快)的事情是(通过二进制搜索)使用和>
字符串运算符找到将单词放在选项单词的排序数组中的位置。
要获得更高级和更精确的结果,请使用Levenshtein distance