JavaScript中的sort排序及字典序陷阱的解決方法
阿新 • • 發佈:2019-01-30
在JavaScript中,陣列排序我們可以直接利用sort方法進行排序
排序字串
var Fruits = ["Banana", "Orange", "Apple", "Mango"];
Fruits.sort();
排序結果為[ “Apple”, “Banana”,”Mango”, “Orange”]
排序的方式為字典序(alphanumeric),即根據陣列內元素首字母進行排序,此方法排序會改變原陣列的順序。
在元素為數字的陣列中,sort方法依然會根據字典序(alphanumeric)進行排序。
排序數字(字母序)
var Num = ["1", "2" , "3", "10"];
Num.sort();
排序結果為[“1”, “10”, “2”, “3”]
如果需要根據數字大小進行排序,則需將程式碼更改為
num.sort((a, b) => a - b)//從小到大
或者
[1,2,5,10].sort(function(a,b){return a-b;})//從小到大
排序結果為[“1”, “2”, “3”, “10”]
這裡函式內執行的是氣泡排序。通過返回值的正負判斷相鄰兩個元素是否交換位置
若需從大至小排序,則需將返回值改為b-a。