基本使用#
預設的排序會用「字典序」來排,所以 22 會排在 3 前面:
要特別注意的是 sort 會改變原本的陣列,而回傳值也是原本的陣列,意思是說:
如果想要自訂排序邏輯,可以傳入一個 compare function,會給你兩個參數 a 與 b,如果:
- 回傳值 < 0,a 會排在 b 前面
- 回傳值 = 0,順序不變
- 回傳值 > 0,b 會排在 a 前面
我自己簡單記憶的邏輯是,先假設 a, b 傳入時的順序就是 a 在前 b 在後:
- 回傳 > 0 代表 a, b 要換位子
- 回傳 < 0 代表 a, b 不換位子
- 回傳 = 0 代表相等
由小排到大#
由大排到小#