一. 前言
js中想要获取随机数,可以使用 Math(算数) 对象来实现随机数的生成。
二. 实现思路
需要使用到两个方法
- 通过
Math.random()
返回 0 ~ 1 之间的随机数,包含 0 不包含 1。 - 通过
Math.floor()
对数值进行下舍入,即向下取整。
1.首先定义方法,需要有两个参数,分别为最小值最大值;
2.(使用Math.floor()
获得一个小于1或等于0的随机数*(最大值-最小值+1)+最小值)
- 验证公式是否可行
①.正常情况
- 假设取值0.857 最大值为10 最小值为1
- (0.857*(10-1+1))+1 结果为 9.57
- 9.57 向下取整为9 得出结论 随机验证正常
②. 极端情况
(1).假设取值0.999 最大值为10 最小值为1
- (0.999*(10-1+1))+1 结果为 10.99
- 10.99 向下取整为10 得出结论 随机验证正常
(2). 假设取值0 最大值为10 最小值为1
- (0*(10-1+1))+1 结果为 1
- 1 向下取整为1 得出结论 随机验证正常
三. 获取随机min至max数值 (包含min, max值)
//封装随机数,包含min, max值
const getRandom = (min, max) => {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
getRandom(min, max)
四、获取随机4位或多位数字字母组合
- Math.random(): 生成的是随机16/17位小数.
- 通过toString(36): 小数点后的数字转为0·9a·z的值;
- substr(2, 4): 从下标2开始,截取4个字符
- 如果想要获取多个字符,4改为指定个数即可
let code = Math.random().toString(36).substr(2, 4)
console.log(code);