洗牌算法就是将一个序列的顺序随机打乱。洗牌算法的思路如下图。
let arr = [0, 1, 2, 3, 4, 5];
function shuffle(arr) {
if (!arr || !arr.length) return -1
let length = arr.length;
for (let i = length - 1; i > 0; i--) {
let randomIndex = Math.floor((Math.random() * i));//生成一个随机数作为数组的一个index
[arr[i], arr[randomIndex]] = [arr[randomIndex], arr[i]];//交换当前index的元素和生成的随机index的元素的值
}
return arr;
}
shuffle(arr)
console.log(arr)