版本号比较

版本升级中常用到版本号的比较("4.1.2"),故此总结下,方便以后使用

compareVersion: function(vStr,vStr2) {
    var curArr = (vStr2 || '0.0.0').split('.'),
        destArr = (vStr || '0.0.0').split('.'),
        i =  0,
        result = null,
        comp = function(str1, str2) {
            var v1 = parseInt(str1, 10),
                v2 = parseInt(str2, 10);
            if (v1 === v2) {
                return 0;
            } else {
                return v1 > v2 ? 1 : -1;
            }
        };
       
    (function(arr1, arr2) {
        var t1 = arr1[i],
            t2 = arr2[i];

        if (!t2 && t1) {
            result = 1;
            return;
        } else if (!t1 && t2) {
            result = -1;
            return;
        } else if (t1 && t2) {
            if (comp(t1, t2) === 0) {
                result = 0;
                i++;
                if (arr2[i] || arr1[i]) {
                    arguments.callee(arr1, arr2);
                }
            } else {
                result = comp(t1, t2);
                return;
            }
        } else {
            result = 0;
            return;
        }
    })(destArr, curArr);
    return result;
}

compareVersion('4.1.2','4.1.3');

 

posted @ 2015-08-28 11:22  *骑着蜗牛游世界*  阅读(246)  评论(0编辑  收藏  举报