📅  最后修改于: 2023-12-03 15:11:14.138000             🧑  作者: Mango
在 JavaScript 中,我们可以使用 Math 对象的 random() 方法生成随机数。但是,该方法生成的是一个小于 1 的浮点数,如果我们需要生成一个整数,就需要进行一些处理。
以下是几种不同的生成随机整数的方法:
const randomNum = Math.floor(Math.random() * maxNum);
其中,maxNum
为需要生成的最大整数值。这种方法先使用 Math.random() 方法生成一个 0 到 1 之间的浮点数,然后将其乘以 maxNum
,再使用 Math.floor() 方法将其向下取整,得到一个整数。
const randomNum = parseInt(Math.random() * maxNum);
这种方法使用了常用的 parseInt() 函数,将生成的浮点数转换为一个整数。
const randomNum = ~~(Math.random() * maxNum);
这种方法使用了 JavaScript 中的短路运算符。~~
可以理解为将一个数字转化为二进制数,再对其取反两次,得到原数字(可以使小数,但是会向下取整)。
const randomNum = (Math.random() * maxNum) | 0;
这种方法使用了一种位运算符 |
,将生成的浮点数转换为整数(同样会向下取整)。
以上四种方法均可以生成一个小于 maxNum
的随机整数,其中前三种方法的处理效果更为简洁明了,在实际开发过程中也更为常用。