如何在JavaScript中的两个指定变量之间生成随机整数,例如x=4和y=8将输出4、5、6、7、8中的任意一个?
当前回答
返回1到10之间的随机数:
Math.floor((Math.random()*10) + 1);
返回1到100之间的随机数:
Math.floor((Math.random()*100) + 1)
其他回答
如果需要介于0和max之间的变量,可以使用:
Math.floor(Math.random() * max);
我的生成0和n之间的随机数的方法,其中n<=10(n除外):
Math.floor((Math.random() * 10) % n)
random(min,max)生成介于min(含)和max(不含)之间的随机数Math.floor将数字向下舍入到最接近的整数函数generateRandomInteger(最小,最大){return数学下限(随机(最小值,最大值))}
因此,要生成一个介于4和8之间的随机整数,请使用以下参数调用上述函数:
generateRandomInteger(4, 9)
一个名为randUpTo的函数,它接受一个数字并返回一个介于0和该数字之间的随机整数:
var randUpTo = function(num) {
return Math.floor(Math.random() * (num - 1) + 0);
};
一个名为randBetween的函数,它接受表示一个范围的两个数字,并返回这两个数字之间的随机整数:
var randBetween = function (min, max) {
return Math.floor(Math.random() * (max - min - 1)) + min;
};
一个名为randFromTill的函数,它接受表示范围的两个数字,并返回一个介于min(含)和max(不含)之间的随机数
var randFromTill = function (min, max) {
return Math.random() * (max - min) + min;
};
一个名为randFromTo的函数,接受表示范围的两个数字,并返回一个介于min(含)和max(含)之间的随机整数:
var randFromTo = function (min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
};
这是我用来生成随机数的方法。
function random(min,max) {
return Math.floor((Math.random())*(max-min+1))+min;
}
Math.random()返回一个介于0(含)和1(不含)之间的数字。我们将这个数字乘以范围(max-min)。这将导致一个介于0(含)和范围之间的数字。
例如,随机(2,5)。我们将随机数0≤x<1乘以范围(5-2=3),因此我们现在有一个数x,其中0≤x<3。
为了强制函数将最大值和最小值都视为包含值,我们在范围计算中添加1:Math.random()*(max-min+1)。现在,我们将随机数乘以(5-2+1=4),得到一个数字x,即0≤x<4。如果我们对这个计算进行下限,我们得到一个整数:0≤x≤3,每个结果的可能性相等(1/4)。
最后,我们需要将其转换为请求值之间的整数。由于我们已经有一个介于0和(max-min)之间的整数,我们可以简单地通过添加最小值将值映射到正确的范围。在我们的示例中,我们将0到3之间的整数加2,得到2到5之间的整数。
推荐文章
- 什么时候JavaScript是同步的?
- 如何在Typescript中解析JSON字符串
- Javascript reduce()在对象
- 在angularJS中& vs @和=的区别是什么
- 错误"Uncaught SyntaxError:意外的标记与JSON.parse"
- JavaScript中的querySelector和querySelectorAll vs getElementsByClassName和getElementById
- 给一个数字加上st, nd, rd和th(序数)后缀
- 如何以编程方式触发引导模式?
- setTimeout带引号和不带括号的区别
- 在JS的Chrome CPU配置文件中,'self'和'total'之间的差异
- 用javascript检查输入字符串中是否包含数字
- 如何使用JavaScript分割逗号分隔字符串?
- 在Javascript中~~(“双波浪号”)做什么?
- 谷歌chrome扩展::console.log()从后台页面?
- 未捕获的SyntaxError: