程序每次运行时的随机数生成器(javascript)
Random number generator every time the program runs (javascript)
我正在尝试编写一个代码,每次 运行s 时都会生成一个新的随机数。我这里有一个函数,没有语法错误,但为什么我的代码不是运行?当它完成所有工作时,它会吐出 undefined?
function GetRandomInteger(a, b){
if (a > b){
small = b;
large = a;
}
else{
small = a;
large = b;
}
}
var randomInt = GetRandomInteger(1,5);
console.log(randomInt);
这应该是这样的
function GetRandomInteger(a, b){
let res = {};
if (a > b){
res.small = b;
res.large = a;
}
else{
res.small = a;
res.large = b;
}
return res;
}
var randomInt = GetRandomInteger(1,5);
console.log(randomInt);
但这仍然不能像“广告”那样工作。你想要随机数,你不会那样得到这个。你必须使用 Math.random。在浏览器中写 math random
答案太多了,我不想复制它们,而且我认为 Whosebug 中可能已经有答案了。
根据我的评论,您的函数目前 return
没有任何值,这就是为什么您的函数输出为 undefined
.
此外,要生成一个随机数,您最好使用 Math.random()
这是一个内置函数来完成此操作。一个例子是:
function GetRandomInteger(a, b) {
return Math.round(Math.random() * (b - a) + a);
}
var randomInt = GetRandomInteger(1, 5);
console.log(randomInt );
console.log(GetRandomInteger(1, 5));
console.log(GetRandomInteger(1, 5));
这使用 Math.random()
生成一个介于 0 和 1 之间的随机数。然后将其乘以介于 a
和 [=17= 之间的 range ],然后加上最小值a
。最后,它使用 Math.round()
将结果四舍五入为整数。
在上面的示例代码段中,这个 returns 一个介于 1 和 5(含)之间的数字。
如果 a
有时可以大于 b
,则以下修改将允许它仍然有效:
function GetRandomInteger(a, b) {
if (a <= b) {
return Math.round(Math.random() * (b - a) + a);
} else {
return Math.round(Math.random() * (a - b) + b);
}
}
var randomInt = GetRandomInteger(1, 5);
console.log(randomInt );
console.log(GetRandomInteger(1, 5));
console.log(GetRandomInteger(1, 5));
console.log(GetRandomInteger(5, 1));
console.log(GetRandomInteger(5, 1));
我正在尝试编写一个代码,每次 运行s 时都会生成一个新的随机数。我这里有一个函数,没有语法错误,但为什么我的代码不是运行?当它完成所有工作时,它会吐出 undefined?
function GetRandomInteger(a, b){
if (a > b){
small = b;
large = a;
}
else{
small = a;
large = b;
}
}
var randomInt = GetRandomInteger(1,5);
console.log(randomInt);
这应该是这样的
function GetRandomInteger(a, b){
let res = {};
if (a > b){
res.small = b;
res.large = a;
}
else{
res.small = a;
res.large = b;
}
return res;
}
var randomInt = GetRandomInteger(1,5);
console.log(randomInt);
但这仍然不能像“广告”那样工作。你想要随机数,你不会那样得到这个。你必须使用 Math.random。在浏览器中写 math random
答案太多了,我不想复制它们,而且我认为 Whosebug 中可能已经有答案了。
根据我的评论,您的函数目前 return
没有任何值,这就是为什么您的函数输出为 undefined
.
此外,要生成一个随机数,您最好使用 Math.random()
这是一个内置函数来完成此操作。一个例子是:
function GetRandomInteger(a, b) {
return Math.round(Math.random() * (b - a) + a);
}
var randomInt = GetRandomInteger(1, 5);
console.log(randomInt );
console.log(GetRandomInteger(1, 5));
console.log(GetRandomInteger(1, 5));
这使用 Math.random()
生成一个介于 0 和 1 之间的随机数。然后将其乘以介于 a
和 [=17= 之间的 range ],然后加上最小值a
。最后,它使用 Math.round()
将结果四舍五入为整数。
在上面的示例代码段中,这个 returns 一个介于 1 和 5(含)之间的数字。
如果 a
有时可以大于 b
,则以下修改将允许它仍然有效:
function GetRandomInteger(a, b) {
if (a <= b) {
return Math.round(Math.random() * (b - a) + a);
} else {
return Math.round(Math.random() * (a - b) + b);
}
}
var randomInt = GetRandomInteger(1, 5);
console.log(randomInt );
console.log(GetRandomInteger(1, 5));
console.log(GetRandomInteger(1, 5));
console.log(GetRandomInteger(5, 1));
console.log(GetRandomInteger(5, 1));