Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 随机概率_Javascript - Fatal编程技术网

Javascript 随机概率

Javascript 随机概率,javascript,Javascript,我刚刚做了一个按钮,它给我一个从1到57的随机数,根据给定的数字,我得到一个与该数字相关的值: 函数coches(){ var x=数学地板((数学随机()*57)+1); 如果(x首先,它应该从哪个列表中消失? 如果你的意思是,它应该不再弹出时,随机那么这是不可能的数学。随机的方式,你写它在这一刻 你应该保留一份数字清单。 例如: //create an array and fill it with numbers zero to 57 var list = []; for (var i =

我刚刚做了一个按钮,它给我一个从1到57的随机数,根据给定的数字,我得到一个与该数字相关的值:

函数coches(){
var x=数学地板((数学随机()*57)+1);

如果(x首先,它应该从哪个列表中消失? 如果你的意思是,它应该不再弹出时,随机那么这是不可能的数学。随机的方式,你写它在这一刻

你应该保留一份数字清单。 例如:

//create an array and fill it with numbers zero to 57
var list = [];
for (var i = 0; i < 57; ++i)
{
    list.push(i);
}

if (list.length > 0)
{
    var x = Math.floor((Math.random() * list.length) + 1);
    var randomNumber = list.splice(x, 1); //delete element from array and return it.
    //now the length of the array is reduced by one.
}
//创建一个数组并用数字0到57填充它
var列表=[];
对于(变量i=0;i<57;++i)
{
列表推送(i);
}
如果(list.length>0)
{
var x=Math.floor((Math.random()*list.length)+1);
var randomNumber=list.splice(x,1);//从数组中删除元素并返回它。
//现在,阵列的长度减少了1。
}
每次生成随机数时,它都会引用列表数组中的一个数字。
但是,以前呈现的数字将不会被重用。

您不需要在每次按下按钮时随机生成数字,只需提前创建所有数字,并在按下按钮时对其进行迭代即可

var idx=0;
var randomNums=[];

对于(var i=1;我首先创建一个包含所有数字的数组,然后randon使用indexOf将其从数组中删除。@Tambo这将只解决#2。为什么不创建一个整数1到57的数组,然后将其洗牌?您不需要每次按下按钮都随机生成一个数字,只要随机生成整个列表并在按下按钮时对其进行迭代即可。This解决了这两个问题。@PrestonS看起来像是OP想要将一定范围的数字绑定到make,在这种情况下是“引导分布”无法按照您建议的方式联系到他们。如果数字不重要,那么它会起作用。@Teemu看到我下面的答案,它满足了所有要求。非常感谢,但是如果我想从数据库中删除它们,如何?@Nytz,您应该将其作为另一个问题提问,并适当地标记。您需要包含更多详细信息我想得到一个正确的答案。在你创建了这个问题之后,把它链接到这里,我会看一看。