js 数组随机排序
时间: 2023-08-17 15:08:16 浏览: 106
可以使用 Fisher-Yates 算法来随机排序 JavaScript 数组。这个算法通过遍历数组,将当前元素与随机选择的后面元素进行交换,从而逐步将数组乱序。
以下是一个实现 Fisher-Yates 算法的 JavaScript 代码示例:
```javascript
function shuffleArray(array) {
for (let i = array.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[array[i], array[j]] = [array[j], array[i]];
}
return array;
}
// 示例用法
const arr = [1, 2, 3, 4, 5];
console.log(shuffleArray(arr));
```
在上述代码中,我们定义了一个 `shuffleArray` 函数,它接受一个数组作为参数,并返回乱序后的数组。算法从数组末尾开始,每次迭代时生成一个随机索引 `j`,然后交换当前元素 `array[i]` 和随机选择的元素 `array[j]`。
运行示例代码后,你将得到一个随机排序的数组。
相关问题
JS 数组的随机排序?
JS 数组的随机排序可以通过以下方式实现:
```javascript
function shuffleArray(array) {
for (let i = array.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[array[i], array[j]] = [array[j], array[i]];
}
return array;
}
// 调用方式
const arr = [1, 2, 3, 4, 5];
const shuffledArr = shuffleArray(arr);
console.log(shuffledArr);
```
以上代码会对数组进行原地随机排序,并返回排序后的数组。
阅读全文