Javascript 两个随机数
可能重复:Javascript 两个随机数,javascript,random,Javascript,Random,可能重复: 这是两个随机数。有时它们是相等的,但是如果ifanse2等于ifanse2,它会重新生成一个介于3-1之间的随机数,但不包括ifanse2。或者有什么方法可以避免一开始就相等吗?您可以循环,直到选择一个不同的数字: var ifanse=Math.floor(Math.random()*4)+1; var ifanse2=Math.floor(Math.random()*3)+1; while (ifanse2 == ifanse) { ifanse2=Math.floor
这是两个随机数。有时它们是相等的,但是如果
ifanse2
等于ifanse2
,它会重新生成一个介于3-1之间的随机数,但不包括ifanse2
。或者有什么方法可以避免一开始就相等吗?您可以循环,直到选择一个不同的数字:
var ifanse=Math.floor(Math.random()*4)+1;
var ifanse2=Math.floor(Math.random()*3)+1;
while (ifanse2 == ifanse)
{
ifanse2=Math.floor(Math.random()*3)+1;
}
您可以循环,直到选择不同的号码:
var ifanse=Math.floor(Math.random()*4)+1;
var ifanse2=Math.floor(Math.random()*3)+1;
while (ifanse2 == ifanse)
{
ifanse2=Math.floor(Math.random()*3)+1;
}
例如,您可以编写一个泛型函数,它为您提供一个随机数数组
- 填充和排列您的范围内的数字,这将消除重复的数字
- 洗牌数组
- 返回一个长度数组,其中包含所需的随机数计数
你永远不会得到2个相等的数字,如果你需要的话,你可以生成超过2个不同的随机数
这里有一个例如,您可以编写一个通用函数,它为您提供一个随机数数组
- 填充和排列您的范围内的数字,这将消除重复的数字
- 洗牌数组
- 返回一个长度数组,其中包含所需的随机数计数
你永远不会得到2个相等的数字,如果你需要的话,你可以生成超过2个不同的随机数
这里有一个所以你不希望它们完全是随机的?真的吗?你昨天问的问题难道你什么都没学到吗?您可以使用相同的do-while循环…我希望它们是随机的,但它们不应该相等。@H2CO3您可能可以这么说。但是前面答案中的一些方法似乎不适合可变和随机的需求。我现在就试试,我还没有测试过。所以你不想让它们完全随机?真的吗?你昨天问的问题难道你什么都没学到吗?您可以使用相同的do-while循环…我希望它们是随机的,但它们不应该相等。@H2CO3您可能可以这么说。但是前面答案中的一些方法似乎不适合可变和随机的需求。我现在就试试,我还没有测试过。有时候我会生成4。我希望将其限制在3以内。然后将
*4
替换为*3
。有时ifanse生成4。我希望将其限制在3以内。然后将*4
替换为*3
。。
function genRand(min, max, cnt) {
var arr = [];
for (var i = min, j = 0; i <= max; j++, i++)
arr[j] = i
arr.sort(function () {
return Math.floor((Math.random() * 3) - 1)
});
return arr.splice(0, cnt)
}
console.log(genRand(0, 3, 2)) // e.g [0,3]
var rands = genRand(0,3,2);
var ifanse = rands[0]
var ifanse2 = rands[1]