美文网首页
JavaScript 获取整数随机数的二三事

JavaScript 获取整数随机数的二三事

作者: 小菜荔枝 | 来源:发表于2018-05-23 16:29 被阅读0次
    JavaScript

    需求

    最近比较无聊随便写了一些简单的需求,如:获取 0~100 的随机整数。虽然不难,但是实践的过程中还是遇到了一些问题,也学到了一些东西,下面让我们一起来实现这个功能

    思考与实现

    首先我们知道获取随机数的一个方法 Math.random(),但它是获取 0~1 之间的随机x小数,所以我们可以把这个接口的返回值乘以 100,然后取整就可以实现我们的需求了,于是最初的代码是这样的:

    Math.floor(Math.random() * 100); // 其实取的是 0~99
    Math.ceil(Math.random() * 100); // 其实取的是 1~100
    

    其实这两个代码都是错误的,一个只能取 0~99,一个只能取 1~100,没关系,发现问题我们解决问题,再改:

    Math.floor(Math.random() * (100 + 1)) // 0~100 OK
    Math.round(Math.random() * 100) // 0~100 OK 利用round四舍五入
    

    扩展

    现在需求难度加大,要写一个方法,传入两个参数,获取这两个参数之间(包括两个参数)的随机整数:

    const random = (min, max) => {
      if(isNaN(min) || isNaN(max)) {
        console.log('params is NaN');
        return null;
      } else {
        // 下面这两句代码用哪个都可以
        // return Math.floor(Math.random() * (max - min + 1) + min);
        return Math.round(Math.random() * (max - min) + min);
      }
    }
    
    random(1,50) // 获取1~50的随机整数
    

    OK,大工告成~~

    简书作者 小菜荔枝 转载请联系作者获得授权

    相关文章

      网友评论

          本文标题:JavaScript 获取整数随机数的二三事

          本文链接:https://www.haomeiwen.com/subject/nxbrjftx.html