根据第一个随机数生成第二个数字

时间:2017-10-15 15:32:24

标签: javascript numbers

我希望使用Javascript生成1到2之间的随机数。

我认为这很容易吗?

Math.floor((Math.random() * 2) + 1);

但是我想生成第二个数字,如果第一个结果是1,则为2;如果第一个结果是2,则为1.

(我希望标点符号清楚。)

更新 - 随机整数,我应该说(即只有1或2)。

6 个答案:

答案 0 :(得分:3)

只需从3中减去第一个值,就可以雄辩地执行此操作:

var first = Math.floor((Math.random() * 2) + 1);
var second = 3 - first;

答案 1 :(得分:1)

var result = Math.floor((Math.random() * 2) + 1);  // Get 1 or 2
console.log("Random was: " + result);              // Test
var result2 = result === 1 ? 2 : 1;                // Ternary to get 2 or 1 based on first #
console.log("Answer is: " + result2);              // Test

答案 2 :(得分:1)

所以你想要生成第二个数字,给定1得到2,得到2得到1。

您可以使用它:

num2 = num1 % 2 + 1

这使用模运算符返回整数除法的余数。即:

1 % 2 == 1  // 1 / 2 = 0r1
2 % 2 == 0  // 2 / 2 = 1r0

答案 3 :(得分:1)



if ( $counter == 1 || $counter == 4 || $counter == 7 )




答案 4 :(得分:1)

鉴于这是您的脚本将处理的唯一场景,您可以使用简单的if语句或三元组来执行此操作:

if示例

var firstRandomNumber = Math.floor((Math.random() * 2) + 1);
var secondRandomNumber;

if (firstRandomNumber === 1) {
  secondRandomNumber = 2;
} else {
  secondRandomNumber = 1;
}

三元例子

var firstRandomNumber = Math.floor((Math.random() * 2) + 1);
var secondRandomNumber = firstRandomNumber === 2 ? 1 : 2;

答案 5 :(得分:0)

  

我希望使用Javascript生成1到2之间的随机数   包容。

function getRandInteger(min, max) {
    return Math.floor(min + (1 + max - min) * Math.random());
}

var myRandomNumb = getRandInteger(1, 2);

编辑仅限整数

  

但是我想生成第二个数字,如果是第一个结果   是1,是2;如果第一个结果是2,则为1。

一个简单的if /三元运算符......