js打乱数组顺序的三种方法
时间: 2023-09-01 10:04:47 浏览: 87
在JavaScript中,我们可以使用几种方法来打乱数组的顺序,下面是三种常见的方法:
1. 使用Fisher-Yates算法
Fisher-Yates算法是一种常见的用于随机重新排列数组元素的算法。它逐个遍历数组的元素,并将当前元素与随机位置的元素进行交换。代码如下:
```
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;
}
```
2. 使用sort()方法和Math.random()
另一种方式是使用sort()方法和Math.random()生成随机数来对数组进行排序。代码如下:
```
function shuffleArray(array) {
return array.sort(() => Math.random() - 0.5);
}
```
3. 使用lodash库的shuffle()函数
如果你使用了lodash库,可以直接使用其中的shuffle()函数来对数组进行随机排序。首先,确保已经引入了lodash库,然后使用如下代码:
```
const shuffledArray = _.shuffle(array);
```
以上是三种常见的方法来打乱数组顺序,每种方法都有自己的特点和用途,请根据实际需要选择适合的方法。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)