最精简
利用数组内置的sort方法,将一个随机数与0.5进行比较
arr.sort(()=>Math.random()-.5)
洗牌算法
随机产生一个下标与循环中的下标交换位置
function shuffleSort(arr){
let n=arr.length;
while(n--){
let index =Math.floor(Math.random()*n);
[arr[index],arr[n]]=[arr[n],arr[index]]
}
}
随机push
在循环中,每次从原数组中剔除一个数放入新数组
function shufflePush(arr){
var result = [];
while(arr.length){
result.push(arr.splice(parseInt(Math.random() * arr.length), 1)[0]);
}
return result
}