咱們先看一下隨機數組排序的示例,再來研究其中的原理。html
var numbers = [5, 458 , 120 , -215 , 228 , 400 , 122205, -85411]; numbers = numbers.sort(function(){ return Math.random() - 0.5});
咱們能夠把任意數組從新排序,而後輸入。數組
sort()是數組操做的一個方法,目的是對數組從新排序。先看下面的使用方法:dom
arrayobj.sort(function);
若是有函數,那麼sort()方法會把數組中的元素兩兩傳進執行的函數,若是返回爲1則調換兩個元素的位置,若是返回爲-1則不變化。arrayobj爲目標數組,function爲sort()方法執行的函數,若是不寫這個參數,那麼元素將按照 ASCII 字符順序進行升序排列。函數
注意:在執行的過程當中,並不會生成新的數組對象。spa
看了上面的介紹應該明白了sort()用法,那麼咱們一塊兒來看一下代碼吧:code
function autoSort(a,b){ //生成隨機數跟0.5比較 return Math.random() >= 0.5 ? 1 : -1; } var arr = ["a","b","c","d"]; arr.sort(autoSort);//往autoSort中兩兩傳入數組元素 alert(arr);//打亂順序以後的隨機數組。
若是你還不明白JS數學函數的應用,那麼請閱讀 《JS經常使用的數學函數總彙》上面的方法就是依賴autoSort()函數產生的隨機數,若是>=0.5則返回1,小於0.5則返回-1。 從而sort()也就會隨機排序數組了。htm