Appearance
如何实现真正的乱序
原理很简单,就是遍历数组元素,然后将当前元素与以后随机位置的元素进行交换,从代码中也可以看出,这样乱序的就会更加彻底。
js
function shuffle(a) {
// 这里必须倒着来, 因为Math.random() * i 是随机取 0~i之间的数字,倒着来就会把当前的数字与前面的数字随机交换
for (let i = a.length; i >= 0; i--) {
let j = Math.floor(Math.random() * i);
[a[i], a[j]] = [a[j], a[i]];
}
return a;
}
function shuffle(a) {
// 这里必须倒着来, 因为Math.random() * i 是随机取 0~i之间的数字,倒着来就会把当前的数字与前面的数字随机交换
for (let i = a.length; i >= 0; i--) {
let j = Math.floor(Math.random() * i);
[a[i], a[j]] = [a[j], a[i]];
}
return a;
}