js数组乱序方法
JS数组乱序的方法有多种,其中常用的方式有:
js数组方法总结 1. Fisher-Yates算法:
该算法的基本思路是从数组末尾开始,每次随机选取一个元素,并将其与当前位置的元素交换,直到将整个数组乱序。
代码实现如下:
```
function shuffle(arr) {
for(let i = arr.length-1; i >= 0; i--){
let randomIndex = Math.floor(Math.random() * (i+1));
[arr[i], arr[randomIndex]] = [arr[randomIndex], arr[i]];
}
return arr;
}
```
2. sort函数:
sort函数可以通过传入一个比较函数来实现数组乱序。比较函数返回一个随机值,使得每次排序结果都是随机的。
代码实现如下:
```
function shuffle(arr) {
return arr.sort(() => Math.random() - 0.5);
}
```
需要注意的是,sort函数的性能一般要低于Fisher-Yates算法,因为每次比较都会执行一次随机函数。
3. lodash库:
lodash是一个非常强大的JS工具库,其中的shuffle函数可以帮助我们快速实现数组乱序。
代码实现如下:
```
const _ = require('lodash');
let arr = [1, 2, 3, 4, 5];
console.log(_.shuffle(arr));
```
以上三种方法都可以实现JS数组的乱序,具体使用哪种方式可以根据实际情况进行选择。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论