閱讀303 返回首頁    go 阿裏雲 go 技術社區[雲棲]


JavaScript數組的reverse和sort方法


reverse方法

var values = [6,8,3,5,1];
values.reverse();
alert(values);

輸出結果: 1,5,3,8,6

 


sort方法

var values = [0,1,5,10,15];
values.sort();
alert(values);

輸出結果: 0,1,10,15,5

 

這就要弄清楚js的Array中sort的原理了。sort方法會調用每一個數組項的toString方法,比較轉換成字符串的數組項。

5的值雖然小於10,但是"10"在"5的前麵"。

這就需要我們寫比較函數了:

function Compare(v1,v2){
    if(v1 < v2){
        return -1;
    }else if (v1 > v2){
        return 1;
    }else{
       return 0;
    }
}


var values = [0,1,5,10,15];
values.sort(Compare);
alert(values);

輸出結果: 0,1,5,10,15

 

這是從小到大,如果從大到小就把Compare函數裏麵1和-1對調。

那麼對於值類型或者valueOf會返回數值型的類型來說,可以直接寫了:

function Compare(v1,v2){
    return v2 - v1 ;
}

 

總結自JavaScript高級編程第二版

 

最後更新:2017-04-02 17:51:23

  上一篇:go html中table裏的col標簽
  下一篇:go 對於Android的http請求的異常管理