/**
* 说明:实现一个方法,用于比较两个版本号(version1、version2)
* 如果version1 > version2,返回1;如果version1 < version2,返回-1,其他情况返回0
* 版本号规则`x.y.z`,xyz均为>=0的整数(注意,版本号位数不定)
* 注意点:version1和version2的长度不确定
*/
function compareVersion(version1, version2) {
/* 功能实现 */
version1 = version1.split('.')
version2 = version2.split('.')
const len = Math.max(version1.length, version1.length)
while (version1.length < len) {
version1.push('0')
}
while (version2.length < len) {
version2.push('0')
}
for (let i = 0; i < len; i++) {
const num1 = parseInt(version1[i])
const num2 = parseInt(version2[i])
if (num1 > num2) {
return 1
} else if (num1 < num2) {
return -1
}
}
return 0
}
// 返回-1
console.log(compareVersion("0.20.7", "0.20.8"))
// 返回 1
console.log(compareVersion("0.20.9", "0.20.8"))
// 返回 0
console.log(compareVersion("0.20.08", "0.20.8"))
// 返回-1
console.log(compareVersion("0.20.08", "0.20.8.1"))//有问题
// 返回 0
console.log(compareVersion("0.20.8.0", "0.20.8"))
// 返回 1
console.log(compareVersion("0.20.8.1", "0.20.8"))
// 返回 0
console.log(compareVersion("0.020", "0.20"))
console