相关疑难解决方法(0)

如何生成偏向某个范围内一个值的随机数?

比如说,如果我想在min和之间生成一个无偏的随机数max,我会这样做:

var rand = function(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
};
Run Code Online (Sandbox Code Playgroud)

但是,如果我想要的生成之间的随机数min,并max更偏向价值N之间minmax在一定程度上D?最好用概率曲线来说明它:

在此输入图像描述

javascript algorithm math probability

22
推荐指数
3
解决办法
3758
查看次数

两个数字之间的Javascript随机整数

我正在尝试创建一个随机数生成器,在两个数字之间生成随机数.例如,假设我想生成一个介于4到10之间的随机数,我希望它能够从4到10中选择任意数字.这是我尝试过的:

var randNumMin = 4;
var randNumMax = 10;
var randInt = (Math.floor(Math.random() * (randNumMax - randNumMin + 1)) + randNumMin);
Run Code Online (Sandbox Code Playgroud)

然而,这似乎不起作用,并产生了不在4到10之间的奇怪随机数,有些从0开始.这样做的正确算法是什么?

这是我正在实现该算法的代码:

$(function() {
    $('#generateRandNums').click(function() {

        var numCount = document.getElementById("randNumCount").value;
        var randNumMin = document.getElementById("randNumMin").value;
        var randNumMax = document.getElementById("randNumMax").value;

        if (numCount.match(/^[\d]*$/ ) && randNumMin.match(/^[\d]*$/ ) && randNumMax.match(/^[\d]*$/ )) {       
            if (numCount == "" || randNumMin == "" || randNumMax == "")  {
                alert ("Please fill out all forms then try again.");

            } else {
                if (randNumMin>randNumMax) {
                    alert ("Please make …
Run Code Online (Sandbox Code Playgroud)

javascript random

20
推荐指数
2
解决办法
4万
查看次数

在Javascript中生成两个日期和时间之间的随机日期

我想在javascript中生成两个日期之间和两次之间的随机日期.例如,我想在今天和明天之间生成一个随机日期(上午8点到下午6点).我尝试了很多东西,但没有一个能够工作,所以我不会粘贴任何代码,因为它不起作用.有没有人做过类似的事情

function generateRandomDate(start, end) { 
    return new Date(start + Math.random() * (end - start)); 
}
Run Code Online (Sandbox Code Playgroud)

我用于生成随机日期的代码在上面发布

javascript date

19
推荐指数
3
解决办法
3万
查看次数

负值和正值之间的随机数

可能重复:
在特定范围内的Javascript中生成随机数?

我怎样才能得到一个随机值,例如,从-99到99,不包括0?

javascript random numbers

17
推荐指数
2
解决办法
3万
查看次数

在JavaScript中创建介于-100和100之间的随机数?

可能重复:
在Javascript中生成随机数

我有以下代码var randomnumber=Math.floor(Math.random()*101);为我生成1到100之间的随机数.我想要做的是生成-100到100之间的随机数.我不知道该怎么做.任何帮助,将不胜感激.

javascript random range negative-number

14
推荐指数
1
解决办法
3万
查看次数

如何在一个范围内生成一个随机数但排除一些?

基本上我选择0-24之间的随机数:

Math.floor(Math.random() * myArray.length); // myArray contains 25 items
Run Code Online (Sandbox Code Playgroud)

让我们说它出现了8.现在我想得到0-24相同范围内的另一个数字,但这一次,我不想要一个8.下一次,我可能会滚动一个15.现在我想再次滚动但是我不想要8或15.我现在处理这个问题的方法是使用do while循环,如果数字相同,我只是重新滚动.

这是我家庭作业的一小部分,事实上,我已经努力满足所有要求,所以我想你可以说这是为了我个人的利益,所以我可以写得恰到好处,而不是最终的"每日wtf" ".

javascript random numbers

12
推荐指数
2
解决办法
2万
查看次数

Javascript:使用crypto.getRandomValues在一个范围内生成一个随机数

我知道你可以使用这个函数在一个范围内的JavaScript中生成一个随机数:

function getRandomInt (min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}
Run Code Online (Sandbox Code Playgroud)

感谢IonuţG.Stan 在这里.

我想知道的是你是否可以使用crypto.getRandomValues()而不是Math.random()在一个范围内生成一个更好的随机数.我希望能够生成0到10之间的数字,或0到1,甚至10 - 5000(含).

你会注意到Math.random()产生一个如下数字:0.8565239671015732.

getRandomValues API可能会返回以下内容:

  • 231Uint8Array(1)
  • 54328Uint16Array(1)
  • 355282741Uint32Array(1).

那么如何将其转换回十进制数,以便我可以使用上面相同的范围算法?或者我需要一个新的算法?

这是我尝试的代码,但它不能很好地工作.

function getRandomInt(min, max) {       
    // Create byte array and fill with 1 random number
    var byteArray = new Uint8Array(1);
    window.crypto.getRandomValues(byteArray);

    // Convert to decimal
    var randomNum = '0.' + byteArray[0].toString();

    // Get number in range …
Run Code Online (Sandbox Code Playgroud)

javascript random cryptography range

12
推荐指数
5
解决办法
1万
查看次数

在LESS CSS中生成随机数?

尝试搜索这个,但鉴于语法很难.有没有办法在LESS中生成一个随机数?我检查了文档并没有看到任何内容,但想知道是否有人知道一个技巧或无证的解决方案.

css random less

11
推荐指数
2
解决办法
9196
查看次数

如何在javascript中获取一位数的随机数?

可能重复:
在特定范围内的Javascript中生成随机数?

有人可以告诉我如何使用Math.random()或javascript中的其他方式获得一位数随机数(1,2,3,..不是0.1,0.2,..或1.0,5.0,..)?

javascript random math digit

9
推荐指数
2
解决办法
2万
查看次数

使用React.js的随机数

我写了这段代码,但是当我运行它时,我只得到一个空白页面.怎么了?看来我接近答案了.我已经尝试了一切,但它仍然无法正常工作.

class Button extends React.Component {

  constructor(props) {
   super(props);
   this.state = {
   random: 0
    }
   }


   render() {
   var min = 1;
   var max = 100;
   var rand =  min + (Math.random() * (max-min));
   handleClick() {
    this.setState ({this.state.random + this.rand})
   }
    return (
      <div>
       <button value="Click me!" onClick={this.handleClick.bind(this)></button>
       </div>
      );

 React.render(<Button />, document.querySelector('#container'));

  }
} 
Run Code Online (Sandbox Code Playgroud)

JSFIDLLE:https://jsfiddle.net/1cban4oy/12/

javascript ecmascript-6 reactjs

9
推荐指数
3
解决办法
3万
查看次数