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)