数组中的随机重复元素
Random repeating elements in an array
我在 underscore.js 中使用 _.sample
从数组中提取随机元素。
我在源列表中的元素少于我想要采样的数量,但它的最大值为 4(源的长度)。
从一个数组的 4 个选项中返回 17 个随机元素(显然有重复)还有哪些其他选项?我看到很多关于删除重复的内容,但无法弄清楚是什么允许它们重复。
let dots = _.sample([component 1, component 2, component 3, component 4], 17);
let dots = _.sample(Array.from({length: 5}).fill([component 1, component 2, component 3, component 4]).flat(), 17)
你只需要获取从0到3的随机数(你可以使用下划线的_.random),并将它们作为索引从你的组件数组中获取元素。
var components = [component1, component2, component3, component4]
var dots = []
for (var i = 0; i < 17; ++i) dots.push(components[_.random(3)]);
我在 underscore.js 中使用 _.sample
从数组中提取随机元素。
我在源列表中的元素少于我想要采样的数量,但它的最大值为 4(源的长度)。
从一个数组的 4 个选项中返回 17 个随机元素(显然有重复)还有哪些其他选项?我看到很多关于删除重复的内容,但无法弄清楚是什么允许它们重复。
let dots = _.sample([component 1, component 2, component 3, component 4], 17);
let dots = _.sample(Array.from({length: 5}).fill([component 1, component 2, component 3, component 4]).flat(), 17)
你只需要获取从0到3的随机数(你可以使用下划线的_.random),并将它们作为索引从你的组件数组中获取元素。
var components = [component1, component2, component3, component4]
var dots = []
for (var i = 0; i < 17; ++i) dots.push(components[_.random(3)]);