Mark24
记录灵感、技术、思考
版本比较算法
// 比较两个版本号 version1 和 version2
// 如果 version1 > version2 返回 1,如果 version1 < version2 返回 -1,否则返回 0。
function compareVersion(version1, version2) {
// 将版本号按点分割成数组
let v1 = version1.split('.');
let v2 = version2.split('.');
// 获取最大的长度
let len = Math.max(v1.length, v2.length);
// 遍历数组
for (let i = 0; i < len; i++) {
// 获取当前位置的修订号,如果不存在则为 0
let num1 = parseInt(v1[i]) || 0;
let num2 = parseInt(v2[i]) || 0;
// 比较当前位置的修订号
if (num1 > num2) {
return 1;
} else if (num1 < num2) {
return -1;
}
// 如果相等则继续比较下一位
}
// 如果遍历完都相等,则返回 0
return 0;
}
console.log(compareVersion('3.5.0','3.5.0.1'))