seR*_*OOO 4 javascript random probability random-sample
JavaScript的
我试过寻找这样的东西,但我找不到它.
这是一个简单的想法:
一个.取0到10之间的随机数.
湾 假设滚动的随机数是3.
C.然后,保存号码(3).
d.现在,在0到10之间再次取一个随机数,但它不能是3,因为它已经出现了.
Str*_*lle 16
一种解决方案是生成一个数组("桶"),其中包含您要选择的所有值,在本例中为0到10之间的所有数字.然后从数组中随机选取一个并从桶中删除它.请注意,下面的示例不会检查存储桶是否为空,因此如果您将此功能调用超过10次,则会出现错误.
var bucket = [];
for (var i=0;i<=10;i++) {
bucket.push(i);
}
function getRandomFromBucket() {
var randomIndex = Math.floor(Math.random()*bucket.length);
return bucket.splice(randomIndex, 1)[0];
}
// will pick a random number between 0 and 10, and can be called 10 times
console.log(getRandomFromBucket());
Run Code Online (Sandbox Code Playgroud)