JS 实现版本号比较功能

js实现一个客户端版本号的统计,目前该功能可以实现版本号中数字版本的统计,例如2.2.3 <2.2.3.1, 1.2.3<2.0.0,原理就是从高版本号到次版本号依次比较

 if (!Array.prototype.trim){
Array.prototype.trim=function(){
var arr=[];
this.forEach(function(e){
if(e.match(/\S+/)) arr.push(e);
})
return arr;
}
} function version_compare(a,b) {
var a_str=a.name.toString();
var a_version=a_str.split(/\D+/).trim();
var b_str=b.name.toString();
var b_version=b_str.split(/\D+/).trim(); var aLength = a_version.length;
var bLength = b_version.length;
var minL = Math.min(aLength,bLength);
var r = null
for (var i = 0; i < minL; i++) {
//此处要转成Number类型,不然比较会出现15<6的情况,可能由于正则匹配造成的,还没有详细探究原因
var aNum = new Number(a_version[i]);
var bNum = new Number(b_version[i]);
if (aNum < bNum) {
r = 1
break; } else if (aNum >bNum) {
r = -1;
break;
} else if (i == minL-1 && aNum == bNum) { if(aLength>minL){
r = 1;
break;
}else if(bLength>minL) {
r = -1;
break;
}
} }
return r;
}
上一篇:linux下svn的安装与配置


下一篇:linux下svn命令使用大全