在JavaScript中生成随机数,但少数数字的频率应较低

在JavaScript中生成随机数,但少数数字的频率应较低,javascript,random,Javascript,Random,我可以使用下面的代码片段生成从0到10的随机数,但我希望0和1的频率比任何其他数字都要低 Math.floor(Math.random() * 10) 如果有人在没有外部条件的情况下为我提供解决方案,那就太好了。你可以用剩余数字的一半来计算0和1的概率,方法是取一个系数为18,偏移量为2的公式,然后取剩余的10它 Math.floor(Math.random() * 18 + 2) % 10; 结果如下: vari, 计数={}, 指数 对于(i=0;i

我可以使用下面的代码片段生成从0到10的随机数,但我希望0和1的频率比任何其他数字都要低

Math.floor(Math.random() * 10)

如果有人在没有外部条件的情况下为我提供解决方案,那就太好了。

你可以用剩余数字的一半来计算
0和
1的概率,方法是取一个系数为
18,偏移量为
2的公式,然后取剩余的
10

Math.floor(Math.random() * 18 + 2) % 10;
结果如下:

vari,
计数={},
指数
对于(i=0;i<1e6;i++){
指数=数学地板(数学随机()*18+2)%10;
计数[索引]=(计数[索引]| 0)+1;
}
控制台日志(计数)

作为控制台包装{max height:100%!important;top:0;}
您尝试了什么?你所说的“外部条件”是什么意思?请通读,特别是做你的研究,了解与此相关的主题,并试一试。如果你在做了更多的研究和搜索后陷入困境,无法摆脱困境,请发布一份你的尝试,并明确指出你陷入困境的地方。人们会乐意帮忙的。祝你好运我不想保留结果数字的条件,如果结果为0或1,则启动随机生成器,特别是在最近15次出现0或1的情况下。嘿,我是说,“我不想在其周围保留这样的外部阵列逻辑”。请让我知道是否有任何标准的解决方案。并不是所有的东西都能很好地包装起来立即食用,有时我们不得不根据成分努力烹饪最终产品;你所要求的太具体了,没有一个标准的解决方案;除非我们使用外部逻辑,否则我认为没有什么可以做的。我可能还是错了。所以,请随时挑战我,并提出解决方案。