判断版本号

/*
* 作用 比较两个版本号的大小
* 条件: 版本号是以.分割的 子版本号的级数可以不一致
* @param firstVersion 第一个参数
* @param secondeVersion 第二个参数
* @return number 如果返回1表示前者大于后者, -1表示小于,0表示相等
* @author 肖建军
* */
vox.utils.compareAppVersion = function( firstVersion, secondVersion )
{
    var result = 0 ;
    var firstArr = firstVersion.split(".") ;
    var secondArr = secondVersion.split(".") ;
    var firstArrLen = firstArr.length ;
    var secondArrLen = secondArr.length ;

    //级数是否相等
    var hasEqualLen = ( firstArrLen == secondArrLen ) ;

    //需要对比判断的级数
    var compareLen ;
    if( hasEqualLen ) {
        compareLen = firstArrLen ;
    } else {
        compareLen = Math.min(firstArrLen, secondArrLen);
    }

    //判断级数相等的部分
    for( var i = 0 ; i < compareLen ; i ++ ) {
        if( parseInt( firstArr[i] ) == parseInt( secondArr[i]) ) {
            continue ;
        } else {
            result = parseInt( firstArr[i] ) > parseInt( secondArr[i] ) ? 1 : -1;
            break ;
        }
    }

    //判断级数不等的部分
    if( result == 0 && !hasEqualLen ) result = firstArrLen > secondArrLen ? 1 : -1 ;

    return result ;
};

posted @ 2019-01-27 23:08  jason_xiao  阅读(957)  评论(0编辑  收藏  举报