JavaScript实现数组内值索引随机化及创建随机数组的方法
在前端开发中,我们经常需要使用到随机化数组中的元素,例如在前端游戏开发中,需要实现怪物生成的随机性、在数据可视化中需要随机选择展示数据等。JavaScript提供了多种方式来实现数组内值索引随机化以及创建随机数组。
实现数组内值索引随机化
方法一:洗牌算法
洗牌算法是一种常用的实现数组随机化的算法,其步骤如下:
- 从数组末尾开始,依次将每个元素与数组中一个随机位置上的元素交换。
- 重复以上步骤直到数组中所有元素都被交换过。
-------- ----------------- - ------- - - ---------- - -- - - -- ----- ----- - - ------------------------ - -- - ---- -------- ------- - -------- -------- - ------ ---- -
方法二:Fisher–Yates算法
Fisher–Yates算法也是一种常用的数组随机化算法,其步骤为:
- 从数组末尾开始,依次选择一个元素,并在数组中随机选择一个位置。
- 将该元素与所选位置上的元素交换。
- 重复以上步骤直到第一个元素。
-------- ----------------- - --- - - ----------- --------- ----- - - ------------------------ - ----- -------- ------- - -------- -------- - ------ ---- -
创建随机数组
方法一:循环遍历生成随机数
该方法通过循环遍历生成指定长度的随机数组,代码如下:
-------- ------------------------- ---- - ----- --- - --- ------- - - -- - - ------- ----- --------------------------------- - ------ - ------ ---- -
其中length
为生成数组的长度,max
为生成的随机数的最大值。
方法二:使用map方法
该方法使用ES6中的map
方法来生成指定长度的随机数组,代码如下:
-------- ------------------------- ---- - ------ -------------------- -- -- ------------------------ - ------ -
其中from
方法用于将类数组对象转换为数组,第一个参数表示数组长度,第二个参数为回调函数,用于生成每个元素的值。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/3933