Skip to content

shuffle

随机打乱数组

190 bytes
since v12.1.0

用法

创建一个新数组,包含给定数组的所有元素但以随机顺序排列。随机化过程采用 Fisher-Yates 算法,该算法在数学上被证明是无偏的(即所有排列的可能性均等)。

import * as _ from 'radashi'
const fish = [
{
name: 'Marlin',
weight: 105,
source: 'ocean',
},
{
name: 'Salmon',
weight: 22,
source: 'river',
},
{
name: 'Salmon',
weight: 22,
source: 'river',
},
]
_.shuffle(fish)

您可以提供自定义随机函数来调整随机化程度。自定义随机函数接收最小值和最大值参数,并返回两者之间的随机数。

const array = [1, 2, 3, 4, 5]
const customRandom = (min, max) =>
Math.floor(Math.random() * (max - min + 1)) + min
_.shuffle(array, customRandom)