😄在日常工作中,我们经常会需要生成一些随机数,相信大家最熟悉的就是 Math.random()
这个api,本文将介绍生成指定范围随机数的方法。
😏首先我们复习一下这几个api,后面会用到:
1、Math.random()
返回一个0~1之间的浮点数,包含0,不包含1,您可以缩放到所需的范围,实现将初始种子选择到随机数生成算法,它不能被用户选择或重置。
2、Math.floor()
返回一个小于或等于给定数字的最大整数
3、Math.ceil()
返回一个大于或等于给定数字的最小整数
4、Math.round()
返回一个数字四舍五入之后的整数形式
相关api还有很多,适合不同使用场景,具体可参阅 MDN
这里以生成m到n之间的随机数为例。
一、生成m到n之间的数字,不包含m和n
const genBetween = (m, n) => Math.round(Math.random() * (n - m - 2)) + m + 1;
二、生成m到n之间的数字,包含m和n
const genBetweenAll = (m, n) => Math.floor(Math.random() * (n - m + 1)) + m;
三、生成m到n之间的数字,包含m,不包含n
const genBetweenLeft = (m, n) => Math.floor(Math.random() * (n - m)) + m;
四、生成m到n之间的数字,不包含m,包含n
const genBetweenRight = (m, n) => Math.floor(Math.random() * (n - m) + 1) + m;
评论区