SOURCE

/**
 * 说明:实现一个方法,用于比较两个版本号(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 命令行工具 X clear

                    
>
console