js比较版本号

JS比较版本号

版本号正常格式是xxxx.xxxx.xxxx.xxxx, 我的第一想法是将其转换成数字进行比较,去掉中间的.,但是一想不对,这跟位数有关,比如2.1.123.1与2.2.0.0,如果转换成数字进行比较就完蛋了,所以需要限制位数,就是都是四位,不足补0;

代码如下:

1
2
3
4
5
6
7
8
9
10
11
// 将版本号转换成数字
private transferversionToNumber(version: string) {
let versionNumArr = version.split('.');
const numPlace = ["0000", "000", "00", "0", ""];
versionNumArr = versionNumArr.map(num => {
const len = num.length;
return numPlace[len] + num
});
return versionNumArr.join('');
}
cosnole.log(this.transferversionToNumber("2.1.0.0") >= this.transferversionToNumber("2.0.12.0"))