版本号比较

版本号比较

function compareVersions(version1, version2) {
    // 将版本号按 . 分割为数组
    const v1 = version1.split('.').map(Number);
    const v2 = version2.split('.').map(Number);

    // 逐位比较
    for (let i = 0; i < Math.max(v1.length, v2.length); i++) {
        // 如果当前位不存在,则用 0 补齐
        const num1 = v1[i] || 0;
        const num2 = v2[i] || 0;

        if (num1 > num2) {
            return 1; // version1 大于 version2
        } else if (num1 < num2) {
            return -1; // version1 小于 version2
        }
    }

    return 0; // 版本号相等
}

// 示例
console.log(compareVersions('1.0.1', '0.0.2')); // 1
console.log(compareVersions('3.11.22', '3.11.22')); // 0
console.log(compareVersions('3.11.22', '3.11.23')); // -1
console.log(compareVersions('3.11.22', '3.12.0')); // -1
image.png

留下你的脚步
推荐阅读