這個方法是我見過對高效的。
復制代碼 代碼如下:
var arr=[];
for(var i=0;i<100;i++){
arr[i]=i;
}
arr.sort(function(){ return 0.5 - Math.random() })
var str=arr.join();
alert(str);
代碼解釋:
var arr=[];//新建一個數組 這是大家推薦的方式。//而不推薦使用 var arr=new Array();
這句不用解釋了。
for(var i=0;i<100;i++){ arr[i]=i; }//循環給數組賦值
關鍵第地方來了
復制代碼 代碼如下:
代碼
arr.sort(function(){ return 0.5 - Math.random() })
//sort 是對數組進行排序
//他的是這樣工作的。每次從數組裡面挑選兩個數 進行運算。
//如果傳入的參數是0 兩個數位置不變。
//如果參數小於0 就交換位置
//如果參數大於0就不交換位置
//接下來用剛才的較大數字跟下一個進行比較。這樣循環進行排序。
/*恰好。我們利用了這一點使用了0.5 - Math.random 這個運算的結果要麼是大於0,要麼是小於0.這樣要麼交換位置,要麼不交換位置。當然大於或者小於0是隨即出現的。所以數組就被隨即排序了。*/
後面兩句輸出給你看的。呵呵。