js中排序方法sort() 和 reverse()


reverse()

  作用:反轉原數組。 

  用法: array.reverse(); 

  圖解:

 

sort()

  作用:對原數組進行排序。默認將每個數組項 先 轉換為字符串 再 進行字符串對比后升序排序。

  用法:array.sort();

  圖解1/2/3:

    字符串 之間的比較, 從左往右 依次比較。 就像圖解1中  11 轉換為‘11’ 后, 由於第一個字符為 1 , 比 2,5 都小; 所以 11 排在第一位。

 

  為了彌補對數字排序的缺陷, sort() 方法可以接收一個比較函數作為參數。

    比較函數接收由原數組依次循環傳遞連續的兩個數組項作為比較函數的兩個參數。

      如果第一個參數應該位於第二個參數之前,返回一個負數不調換它們的位置。

      如果兩個參數相等,則返回0。 不調換它們的位置。

      如果第一個參數應該位於第二個參數之后,返回一個正數調換它們的位置。

   圖解1(適合除了數組項為數字字符串的數組):圖解2(適合數字數組,數組項為數字字符串的數組也行)

 

總結&拓展:

  1. 除了數組項為數字字符串的數組升序   /   降序

  

    警告:數組項為數字字符串的數組升序  /  降序 有缺陷。    (非要用該compare函數的)解決辦法圖解:
    

  2. 對數字數組,數組項為數字字符串的數組 升序  /  降序

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM