function compareVersion(v1, v2) {
if (v1 == v2) {
return 0;
}
const vs1 = v1.split(".").map(a => parseInt(a));
const vs2 = v2.split(".").map(a => parseInt(a));
const length = Math.min(vs1.length, vs2.length);
for (let i = 0; i < length; i++) {
if (vs1[i] > vs2[i]) {
return 1;
} else if (vs1[i] < vs2[i]) {
return -1;
}
}
if (length == vs1.length) {
return -1;
} else {
return 1;
}
}
//情况一:
compareVersion('2.2.3','2.2.2'); //1
//当 v1 大于 v2 时返回 1
//情况二:
compareVersion('2.2.2','2.2.2'); //0
//当 v1 等于 v2 时返回 0
//情况二:
compareVersion('1.2.3','2.2.2'); //-1
//当 v1 小于 v2 时返回 -1
注意事项:
es5环境运行请使用
function compareVersion(v1, v2) {
if (v1 == v2) {
return 0;
}
var vs1 = v1.split(".").map(a => parseInt(a));
var vs2 = v2.split(".").map(a => parseInt(a));
var length = Math.min(vs1.length, vs2.length);
for (var i = 0; i < length; i++) {
if (vs1[i] > vs2[i]) {
return 1;
} else if (vs1[i] < vs2[i]) {
return -1;
}
}
if (length == vs1.length) {
return -1;
} else {
return 1;
}
}