js生成各种随机数

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
喜欢就支持一下吧
点赞0 分享