如何比较版本号大小类似9_11_1和9_2_9

很多软件有很多小的版本号,由于我有一个版本大小比较的需求。
却碰到了小版本的比较问题:

9_11_1和9_2_9

10.11.111和10.2.2

有那个大神可以给点建议啊

阅读 3.6k
1 个回答
//分段比较
function version( v1, v2 ) {
  var arr1 = v1.replace(/[-_]/g,'.').split('.');
  var arr2 = v2.replace(/[-_]/g,'.').split('.');
  console.log(arr1,arr2);
  var len = Math.max(arr1.length, arr2.length);
  for ( var i = 0; i < len; i++ ) {
      if(parseInt(arr1[i]) == parseInt(arr2[i])) continue;
      return parseInt(arr1[i]) > parseInt(arr2[i]) ? true :false;
  }
  return false;
}
version('9_11_1','9_2_9');//true
version('10.11.111','10.2.2');//true
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
1 篇内容引用
推荐问题
宣传栏