封装js版本比较函数

来源:网络 文章列表 2019-03-05 8
 在日常开发中我们可能会遇到要比较代码版本的问题。假设我们的版本号风格为 Major.Minor.Patch(主版本号.次版本号.修订版本号)这种形式   版本比较函数 // 版本号比较 function

 在日常开发中我们可能会遇到要比较代码版本的问题。假设我们的版本号风格为 Major.Minor.Patch(主版本号.次版本号.修订版本号)这种形式

 

版本比较函数

// 版本号比较
function compareVersion(v1, v2) {
  v1 = v1.split('.')
  v2 = v2.split('.')
  const len = Math.max(v1.length, v2.length)

  while (v1.length < len) {
    v1.push('0')
  }
  while (v2.length < len) {
    v2.push('0')
  }

  for (let i = 0; i < len; i++) {
    const num1 = parseInt(v1[i])
    const num2 = parseInt(v2[i])

    if (num1 > num2) {
      return 1
    } else if (num1 < num2) {
      return -1
    }
  }

  return 0
}

测试:

compareVersion('1.11.0', '1.9.9') // 1

 

腾讯云限量秒杀

1核2G 5M 50元/年 2核4G 8M 74元/年 4核8G 5M 818元/年 CDN流量包 100GB 9元

版权声明

本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:
愿本站的内容能为您的学习、工作带来绵薄之力。

评论

  • 随机获取
点击刷新
精彩评论

友情链接