前端js进行APP版本号比较方法

JavaScript019

前端js进行APP版本号比较方法,第1张

/*** 比较版本号的大小,如果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"。所以需要对于每一位分开,采用补位的方式逐个比较。