我研究JavaScript并想要一些关于生成随机整数的信息.我看它在google和stackoverflow和主要被找到这样的代码(在情况下,我们希望数字1到52):
var randInt=function(){
number=Math.floor(Math.random()*52+1);
};
Run Code Online (Sandbox Code Playgroud)
和
var randNumMin = 1;
var randNumMax = 52;
var randInt = function (){
number = (Math.floor(Math.random() * (randNumMax - randNumMin + 1)) + randNumMin);
};
Run Code Online (Sandbox Code Playgroud)
我读到一些参考Math.random,发现它是从生成的数字0来1.如果Math.random生成1,我们将得到数字5,这意味着我们将得到错误.我同意这是非常罕见的情况,但它是可能的.我略微修改了代码以避免该错误(在我们的例子中生成数字53).在这里,我认为是JavaScript中生成随机数的正确代码.在您的示例中,它只生成整数,但我认为可以修改代码并生成任何类型的数字:
var randInt = function(){
number = Math.floor(Math.random()*52+1);
if (number === 53){
randInt();
}
};
Run Code Online (Sandbox Code Playgroud)
和
var randNumMin = 1;
var randNumMax = 52;
var randInt = function (){
number = (Math.floor(Math.random() * (randNumMax - randNumMin + 1)) + randNumMin);
if (number===53){
randInt();
}
};
Run Code Online (Sandbox Code Playgroud)
我是JavaScript的新手,听听JavaScript专业人士的一些想法会很有趣.提前致谢.
Gre*_*ill 11
该Math.random()函数产生随机数x在那里0 <= x < 1.因此,它绝不会产生正好 1,尽管它可能出现非常接近.
返回一个浮点伪随机数,范围
[0, 1)为0(包括),但不包括1(不包括),然后可以缩放到所需范围.