1. 使用sort
function shuffle(arr) {
return arr.sort(() => Math.random() - 0.5)
}
2.洗牌算法
先从数组末尾开始,将最后一个元素与前边任意随机元素交换位置;
在已经排好的最后一个元素以外的位置中,随机产生一个位置,让该位置元素与倒数第二个元素进行交换;
循环操作...
function shuffle(arr) {
for (let i=arr.length;i;i--){
// 产生一个随机位置
let j = Math.floor(Math.random() * i);
// 交换位置
[arr[i-1],arr[j]] = [arr[j],arr[i-1]];
}
return arr;
}