如何检查if/else语句中的随机条件

How to check random conditions in if/else statements?

本文关键字:语句 else 条件 随机 if 何检查 检查      更新时间:2023-09-26

我正试图编写一个if/else语句,根据randomNumber函数从myOptions数组生成的选项将html写入页面。我不知道如何检查if条件,因为它总是导致写着"你输了!……"的其他条件。

目标:选项1和选项2获胜,选项3和选项4失败。

篡改它。

function randomNumber(range) {
    return Math.round( Math.random() * range );
}
var myOptions = ["Option 1", "Option 2", "Option 3", "Option 4"];
myOptions = myOptions[randomNumber( myOptions.length - 1)];
alert(myOptions);
if (myOptions <= 1) {
    document.getElementById("message").innerHTML = "You win!";
} else {
    document.getElementById("message").innerHTML = "You lose! " + myOptions + " was your pick";
}

不要对选项数组和随机选择的选项使用相同的变量。随机分配索引,然后在必要时可以引用数组中的适当字符串。

您正在将选项数组重新分配给它的某个值,然后尝试将该字符串值与数值进行比较。您绝对可以将myOptions简单地分配为一个字符串,然后检查其值是否为获胜值,但我认为您正在尝试做一些更类似的事情:

var myOptions = ["Option 1", "Option 2", "Option 3", "Option 4"];
var optionIndex = randomNumber(myOptions.length);
var selectedOption = myOptions[optionIndex];
alert(selectedOption);
if (optionIndex <= 1) {
    document.getElementById("message").innerHTML = "You win!";
} else {
    document.getElementById("message").innerHTML = "You lose! " + selectedOption + " was your pick";
}

由于某些原因,您正在检查myOptions <= 1-myOptions是否永远不会是数字,它将始终是其中一个值的字符串。

更新的jsfiddle:http://jsfiddle.net/troh2bh4/15/