工具类库:从选项池中随机挑选n个选项

Example

const picker = new RandomPicker([1, 2, 3, 4, 5]);

// 从选项池中随机挑选1个选项
picker.pick(); // 返回1,2,3,4,5中的1个
// 从选项池中随机挑选2个选项
picker.pick(2); // 返回1,2,3,4,5中的2个,可供选则的有5个,多个可能会出现重复的

// 从中随机挑选出选项。每拿走一个选项,都会对剩余的选项重新计算选中几率,可选数量减1
picker.take(); // 返回1,2,3,4,5中的1个,之后pick或take可供选择的只剩下4个
picker.take(2); // 返回1,2,3,4,5中的2个,之后pick或take可供选择的只剩下2个,多个不会出现重复的

// 重置后,会恢复选项池
picker.reset();

// 添加选项
picker.option(6); lottery-pool

// 恢复初始选项,去除picker.option方法添加的选项
picker.resetWithSeed();

Type Parameters

  • T

Hierarchy

  • RandomPicker

Constructors

Properties

pool: OptionsPool<T>

选项池

store: OptionsStore<T>

选项存储 全部选项,包含后面option添加的

seed: Seed<T> = []

初始选项,不包含后面option添加的

Accessors

Methods