js数组随机抽取显示,怎么控制指定元素显示的概率 5

公司做一个抽奖页面,所有人在一个数组里面抽奖,但是有的同事带了孩子,要让孩子的抽中概率比同事的抽中概率大,是每个孩子都是90%,还是所有孩子一起分90%,其他同事分10%... 公司做一个抽奖页面,所有人在一个数组里面抽奖,但是有的同事带了孩子,要让孩子的抽中概率比同事的抽中概率大,是每个孩子都是90%,还是所有孩子一起分90%,其他同事分10%。请问该怎么写随机,那个中奖概率大 展开
 我来答
Ninja748
2019-01-26 · TA获得超过247个赞
知道小有建树答主
回答量:163
采纳率:88%
帮助的人:86.2万
展开全部

可以利用Math对象的random方法。它将返回一个0到1之间的浮点类型数。但仅仅这个还不够,必须还要有一定的算法才可以实现一定范围取值。

Math.floor(Math.random()*x)    //返回0到x-1的随机整数。

Math.floor(Math.random()*x+y)    //返回0+y到x-1+y的随机整数

其中floor方法是用来取浮点类型的整数部分。

顺便说一下,JS很难控制抽奖抽中的概率,毕竟还没有这种算法。我有一个建议,就是将同事能抽的数字范围增大,孩子能抽的数字范围减小。比如中奖号码为96,则同事可写:

Math.floor(Math.random()*100+50)    //取50到149

孩子可这样写:

Math.floor(Math.random()*70+70)     //取70到139

测试结果如图(这个结果是10次抽到号码需要的次数的平均值,结果四舍五入):

这样孩子的抽中概率比同事的抽中概率要大了。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式