我必须使用包含超级联赛球员名字的阵列。 我希望按名称匹配它们,因为播放器对象没有唯一ID。
如何进行与Zlatan Ibrahimovic
匹配Zlatan Ibrahimović
的字符串比较? (注意两个字符串的最后一个字符)
答案 0 :(得分:1)
这不是一个小问题。 你应该研究 Levenshtein距离问题
https://en.wikipedia.org/wiki/Levenshtein_distance
您可以在谷歌搜索不同的实现,或使用如下库: https://www.npmjs.com/package/levenshtein
示例:
l = new Levenshtein( 'Zlatan Ibrahimovic', 'Zlatan Ibrahimović')
// l === 1
我已经使用过了,我很喜欢。在我的代码中,我使用这个进行了实验。
我不关心结果。因为在长字符串中4可以是非常好的数字而在小字符2中它是非常糟糕的。
我会做一些像l / Math.max(str1.length,str2.length)这样的事情,然后你就可以制作你的号码并决定你的号码是多少。