版本比较算法

// 比较两个版本号 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'))

Mark24

Everything can Mix.