基于匹配值的数组重新排序
数组顺序应该根据用户搜索而改变,匹配的对象优先
let movies = [{
"MovNameOne": ["comedy", "fun", "2021"]
},
{
"MovNameTwo": ["thriller", "suspense", "2022"]
},
{
"MovNameThree": ["thriller", "comedy", "2021"]
},
{
"MovNameFour": ["action", "mixed", "2000"]
},
{
"MovNameFive": ["fun", "mixed", "2021"]
},
];
console.log( movies.sort( () => **** );
字符串
如果用户知道电影的确切全名,那么这个匹配的对象应该是第一位的,用户可以根据随机关键字搜索
1条答案
按热度按时间flvtvl501#
为此,您可以使用字符串之间的Levenshtein距离并相应地对它们进行排序。
source code for Leventshtein distance taken from here
Levenshtein距离维基百科
字符串
您可以在电影类型/关键字上使用相同的逻辑对它们进行相应的排序