版本号比较
function compareVersions(version1, version2) {
// 将版本号按 . 分割为数组
const v1 = version1.split('.').map(Number);
const v2 = version2.split('.').map(Number);
// 逐位比较
for (let i = 0; i < Math.max(v1.length, v2.length); i++) {
// 如果当前位不存在,则用 0 补齐
const num1 = v1[i] || 0;
const num2 = v2[i] || 0;
if (num1 > num2) {
return 1; // version1 大于 version2
} else if (num1 < num2) {
return -1; // version1 小于 version2
}
}
return 0; // 版本号相等
}
// 示例
console.log(compareVersions('1.0.1', '0.0.2')); // 1
console.log(compareVersions('3.11.22', '3.11.22')); // 0
console.log(compareVersions('3.11.22', '3.11.23')); // -1
console.log(compareVersions('3.11.22', '3.12.0')); // -1