如何在版本号上使用Javascript数学

One*_*erd 3 javascript jquery

我用jQuery来获取这样的浏览器版本:

var x = $.browser.version;
Run Code Online (Sandbox Code Playgroud)

我得到一个这样的字符串:1.9.1.1

现在,我想做一个评估,所以如果x> = 1.9.1然后做一些事情.不幸的是,有多个小数点,我不能做一个parseFloat(),因为它将1.9.1.1转换为1.9,if if评估将匹配1.9.0版本(我不想要).

有人找到了一种方法来完成将版本号(带有多个小数)转换为可用作评估数字的东西(或其他一些方法来完成我在这里尝试做的事情)?

谢谢 -

Jon*_*son 7

您可以使用string.split执行某些操作,然后进行逐位比较

// arr[0] = 1
// arr[1] = 9
// arr[2] = 1
// arr[3] = 1
var arr = ($.browser.version).split('.');
Run Code Online (Sandbox Code Playgroud)

以下内容摘自这篇文章

这个函数将解析您的版本字符串并返回一个JSON对象

function parseVersionString (str) {
    if (typeof(str) != 'string') { return false; }
    var x = str.split('.');

    // parse from string or default to 0 if can't parse 
    var maj = parseInt(x[0]) || 0;
    var min = parseInt(x[1]) || 0;
    var bld = parseInt(x[2]) || 0;
    var rev = parseInt(x[3]) || 0;
    return {
        major: maj,
        minor: min,
        build: bld,
        revision: rev
    }
}
Run Code Online (Sandbox Code Playgroud)

然后您可以使用以下语法

var version = parseVersionString($.browser.version);
// version.major == 1
// version.minor == 9
// version.build == 1
// version.revision == 1
Run Code Online (Sandbox Code Playgroud)