admin 管理员组

文章数量: 1087139


2024年3月13日发(作者:伦勃朗光法的拍摄方法与要点)

js数组乱序方法

JS数组乱序的方法有多种,其中常用的方式有:

1. Fisher-Yates算法:

该算法的基本思路是从数组末尾开始,每次随机选取一个元素,并将其与当前位置的

元素交换,直到将整个数组乱序。

代码实现如下:

```

function shuffle(arr) {

for(let i = -1; i >= 0; i--){

let randomIndex = (() * (i+1));

[arr[i], arr[randomIndex]] = [arr[randomIndex], arr[i]];

}

return arr;

}

- 1 -

```

2. sort函数:

sort函数可以通过传入一个比较函数来实现数组乱序。比较函数返回一个随机值,使

得每次排序结果都是随机的。

代码实现如下:

```

function shuffle(arr) {

return (() => () - 0.5);

}

```

需要注意的是,sort函数的性能一般要低于Fisher-Yates算法,因为每次比较都会执

行一次随机函数。

3. lodash库:

lodash是一个非常强大的JS工具库,其中的shuffle函数可以帮助我们快速实现数组

乱序。

- 2 -

代码实现如下:

```

const _ = require('lodash');

let arr = [1, 2, 3, 4, 5];

(_.shuffle(arr));

```

以上三种方法都可以实现JS数组的乱序,具体使用哪种方式可以根据实际情况进行选

择。

- 3 -


本文标签: 数组 乱序 函数