【问题标题】:Best method to take the random number of the range in JavaScript? [duplicate]在JavaScript中获取范围随机数的最佳方法? [复制]
【发布时间】:2012-08-15 03:24:43
【问题描述】:

可能重复:
Generating random numbers in Javascript in a specific range?

最好的方法是使用 Math 对象来获取随机数:

  • [a, b](双整数)(2 种情况)
  • (a, b)(双整数)
  • [a, b)(双整数)
  • (a, b] (双整数)

有人可以帮助我吗?谢谢!

【问题讨论】:

    标签: javascript math random


    【解决方案1】:

    我想这就是你要找的东西:

    var rand = function(a,b){
        return a+Math.round((b-a)*Math.random());
    }
    var r = rand(5,10);
    console.log(r);
    

    【讨论】:

      【解决方案2】:
      Math.extendedRandom = function(a,b,excludeA,excludeB, round)
      {
          var start = a;
          var end = b;
          if(excludeA)
              start++;
          if(excludeB)
              end--;
      
          var res = (end-start) * Math.random();
          return start + (round ? Math.floor(res) : res);
      };
      

      【讨论】:

        【解决方案3】:

        最简单的情况是第三种,已经是Math.random在JavaScript中的实现了。

        第一种情况是answered by Trevor in this question。不过,请务必阅读其他答案和 cmets,以清楚了解其中的含义。

        同样,nickf 在同一个问题中回答了第四种情况。

        第二种情况可以通过 Trevor 的答案的变体来处理:

        function zero_exclusive_random(){
          var r = Math.random();
          return r == 0 ? zero_exclusive_random() : r;
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-05-15
          • 1970-01-01
          • 2023-03-15
          • 2012-07-25
          • 1970-01-01
          • 2021-07-24
          • 1970-01-01
          相关资源
          最近更新 更多