// 使用 Fisher-Yates 洗牌算法来打乱数组顺序
function shuffleArray(array) {
for (let i = array.length - 1; i > 0; i--) {
// 生成一个 0 到 i 的随机索引 j
const j = Math.floor(Math.random() * (i + 1));
// 交换 array[i] 和 array[j]
[array[i], array[j]] = [array[j], array[i]];
}
return array;
}
// 示例
const myArray = [1, 2, 3, 4, 5];
console.log(shuffleArray(myArray));
i,随机选择一个索引 j(范围是 0 到 i),然后交换这两个位置的元素。这种方法能确保每个元素出现在任何位置的概率是相等的,从而实现真正随机的打乱。
上一篇:js 数组对象排序
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站