小编给大家分享一下JavaScript相似度排序的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
/**
* 获取两个字符串相识度
* @param {string} str1
* @param {string} str2
* @returns
*/
export function strSimilarity(str1, str2) {
var len1 = str1.length
var len2 = str2.length
var arr = []
for (var y1 = 0; y1 <= len1; y1++) { arr[y1] = [y1] }
for (var x1 = 1; x1 <= len2; x1++) { arr[0][x1] = x1 }
for (var y = 1; y <= len1; y++) {
for (var x = 1; x <= len2; x++) {
arr[y][x] = Math.min(
arr[y - 1][x] + 1,
arr[y][x - 1] + 1,
arr[y - 1][x - 1] + (str1[y - 1] === str2[x - 1] ? 0 : 1)
)
}
}
return 1 - arr[len1][len2] / Math.max(len1, len2)
}
排序
const selectionSort = (arr) => {
var len = arr.length
var minIndex, temp
for (var i = 0; i < len - 1; i++) {
minIndex = i
for (var j = i + 1; j < len; j++) {
if (arr[j].xsd > arr[minIndex].xsd) {
// 寻找最大的数
minIndex = j // 将最小数的索引保存
}
}
temp = arr[i]
arr[i] = arr[minIndex]
arr[minIndex] = temp
}
return arr
}
selectionSort(this.tempList)
看完了这篇文章,相信你对“JavaScript相似度排序的示例分析”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/loyin/blog/5011291