js实现比较两个版本号
```js
function compareVersion(v1, v2) {
const v1Arr = v1.split('.');
const v2Arr = v2.split('.');
for (let i = 0; i < Math.max(v1Arr.length, v2Arr.length); i++) {
const num1 = parseInt(v1Arr[i] || 0); // 取不到值时设置为0,比如 1 和 1.0 比较时,右边的数就会变成 0;
const num2 = parseInt(v2Arr[i] || 0);
if (num1 > num2) { // 比较大小,大于则返回 1;小于则返回 -1。如果相等则继续循环比较下一位数字。
return 1;
} else if (num1 < num2) {
return -1;
} else { // 相等的话就是0, 然后再次循环即可。 continue;
}
}
return 0; // 如果最后一位也相同,那么版本号也相同。这里要返回 0。 }
} console.log(compareVersion('1', '3')); // -1 console.log(compareVersion('3', '3')); // 0 console.log(compareVersion('4', '3')); // 1 console.log(compareVersion('4', '4.0')); // 0 console.log(compareVersion('4', '4 . 3 . 2 . 4') );// - 1 console log ( compare Version (' 4 . 3 . 2 . 4 ', ' 4' ) ) ;// 1 console log ( compare Version (' 4 . 3 . 2 ', ' 4' ) ) ;// - 1 console log ( compare Version (' 5 . 3 ', ' 5' ) ) ;// 0
创作工场
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!