1.生成[0,1)
范围内的随机数
- 使用random()方法可以返回一个介于0~1之间的伪随机数(包括0,不包括1)
Math.random()
2.生成[n,m)
范围内的随机数(大于等于n,小于m)
- 使用random公式
Math.random()*(m-n)+n
3.生成[n,m] (n,m) (n,m]
范围内的随机数
//取得[n,m]范围内随机数
function fullClose(n,m){
let result = Math.random()*(m+1-n)+n;
while(result>m){
result = Math.random()*(m+1-n)+n;
}
return result;
}
//取得(n,m)范围随机数
function fullOpen(n,m){
let result = Math.random()*(m-n)+n;
while(result == n){
result = Math.random()*(m-n)+n;
}
return result;
}
//取得(n,m]范围随机数
function leftOpen(n,m){
let result = Math.random()*(m-n+1)+n-1;
while(result<n){
result = Math.random()*(m-n+1)+n-1;
}
return result;
}
复制代码
4.生成随机整数
Math.round(num):四舍五入取整
Math.floor(num):将num向下取整,即返回num得整数部分。也可用parseInt()
//生成[0,n)范围内得随机整数
Math.floor(Math.random()*n)
//生成[nim,max]范围内得随机整数
Math.floor(Math.random()*(max-min+1))+min
//生成[1,n]范围内随机数
Math.floor(Math.random()*n)+1
复制代码
5.随机字符串生成
//生成n位数字字符串
function randomNum(n){
let res = ''
for(let i=0;i<n;i++){
res += Math.floor(Math.random()*10);
}
return res;
}
//生成n位数字字母混合得字符串
function generateMixed(n){
let chars = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
let res = '';
for(let i=0;i<n;i++){
let id = Math.floor(Math.random()*36);
res += chars[id]
}
return res;
}
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END