我正在尝试编写一个if/else语句,该语句将html写入页面,具体取决于randomNumber函数从myOptions数组生成的选项。我不确定如何检查if条件,因为它总是导致其他情况写为“ You loss!.....”。

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

fiddle it.

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";
}

关于javascript - 如何在if/else语句中检查随机条件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29500402/

10-11 22:39
查看更多