通过将随机数(介于 0 和 1 之间)乘以 5,我们将其设为 0 到 5 之间的随机数(例如 3.1841)。 Math.floor() 将此数字向下舍入为整数,并在末尾添加 1 将范围从 0 到 4 更改为 1 到 5 之间(最多(包括 5))。
上面的解释让我很困惑......我的解释如下:
--加上 5 给出了 5 个数字的范围
--但它以 0 开头(就像一个数组?)
--所以从技术上讲是0 - 4
——加上 1,你就得到了 1 - 5
我对 JS 很陌生,甚至不知道这种问题在这里是否合适,但到目前为止这个网站非常棒。感谢您的任何帮助!
来自Mozilla 开发者网络文档 on Math.random()
:
Math.random() 函数返回 [0, 1) 范围内的浮点伪随机数,即从 0(含)到 1(不包括)。
以下是两个随机生成的数字示例:
Math.random() // 0.011153860716149211
Math.random() // 0.9729151880834252
因此,当我们将随机生成的数字乘以另一个数字时,它的范围将从 0 到比乘以的数字低最多 1 的范围(如Math.floor()
只是删除小数位而不是对数字进行四舍五入(也就是说,0.999 在处理时变成 0Math.floor()
, not 1)).
Math.floor(0.011153860716149211 * 5) // 0
Math.floor(0.9729151880834252 * 5) // 4
加一只是将其抵消为您所追求的值:
Math.floor(0.011153860716149211 * 5) + 1 // 1
Math.floor(0.9729151880834252 * 5) + 1 // 5
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)