隨
機就離不開Math.random()
既然是一個數字數組,寫過排序吧,有冒泡排序、sort排序等,都能排序成從小到大或從大到小的數組。
那麼暫且看看sort生序排列的寫法:
var a = [10,2,3,5,4,6,7,8,9,1];
var randomSoftArr = function(arr){
arr.sort(function(a, b){
return a - b;
});
return arr;
}
randomSoftArr(a);
結果如下:
既然升序排列的關鍵在於sort函數的回調函數的返回值大於0或小於0或等於0。如果這裏的返回值並不依賴於數組項,而是隨機的呢?
var a = [1,2,3,4,5,6,7,8,9,10];
var randomSoftArr = function(arr){
arr.sort(function(a, b){
return Math.random() - 0.5;
});
return arr;
}
randomSoftArr(a);
結果如下:
至此,問題得以解決!