判斷版本號

/*
* 做用 比較兩個版本號的大小
* 條件: 版本號是以.分割的 子版本號的級數能夠不一致
* @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 ;
};

it

相關文章
相關標籤/搜索