1. 程式人生 > >JS使用sort方法實現氣泡排序和亂序

JS使用sort方法實現氣泡排序和亂序

預設的sort排序依據是ASCⅡ碼,所以從小到大排列遇到11可能排在個位數前面去了。
因此在數字進行排序時,需要新增函式入口點到sort函式中,就是改變sort函式的排序依據,通過不同的函式入口點,實現不同的排序效果。這裡介紹一下氣泡排序和亂序。

var a1=[1,4,2,3,14]; 
alert("預設的排序結果:"+a1.sort());
alert("氣泡排序的結果"+a1.sort(myArraySortFun));  //輸出1,14,2,3,4
alert("氣泡排序的結果"+a1.sort('Math.random()>0.5?1:-1;'));  //輸出亂序排列的陣列

//氣泡排序
function myArraySortFun(a,b){ console.log("my Array sort"); return a-b; }

拓展:
需要生成n個不重複的字串時,先將備選字元存入字串str中,先打亂str的排序,然後從中擷取長度為n的子字串即可。