![前端js进行APP版本号比较方法,第1张 前端js进行APP版本号比较方法,第1张](/aiimages/%E5%89%8D%E7%AB%AFjs%E8%BF%9B%E8%A1%8CAPP%E7%89%88%E6%9C%AC%E5%8F%B7%E6%AF%94%E8%BE%83%E6%96%B9%E6%B3%95.png)
/*** 比较版本号的大小,如果curV 大于 reqV,则返回true,否则返回false* @param {String} curV* @param {String} reqV*/ function Version(curV, reqV) { var arr1 = curV.toString().split('.') var arr2 = reqV.toString().split('.') //将两个版本号拆成数字 var minL = Math.min(arr1.length, arr2.length) var pos = 0//当前比较位 var diff = 0//当前为位比较是否相等 var flag = false //逐个比较如果当前位相等则继续比较下一位 while(pos <minL) { diff = parseInt(arr1[pos]) - parseInt(arr2[pos]) if(diff == 0) { pos++ continue } else if(diff >0) { flag = true break } else { flag = false break } } return flag }例如:let test_v = Version(‘5.1.3’,‘5.0.1’); console.log(test_v ) //true一般程序版本号形式x.x.x.x的字符串,例如:1.0、1.0.0、1.0.0.0。如果直接采用字符串比较大小,会出现低版本大于高版本的结果,例如:1.10.1和1.9.2比较,就会出现"1.9.2" >"1.10.1"。所以需要对于每一位分开,采用补位的方式逐个比较。