随
机就离不开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);
结果如下:
至此,问题得以解决!