我正在尝试编写if/else
语句,该语句将html写入页面,具体取决于randomNumber
函数从myOptions
数组生成的选项。我不确定如何检查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";
}
答案 0 :(得分:5)
不要对您的选项数组和随机选择的选项使用相同的变量。随机分配索引,然后在必要时可以引用数组中的相应字符串。
您将选项数组重新分配给其中一个值,然后尝试将该字符串值与数值进行比较。你绝对可以指定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";
}
答案 1 :(得分:3)
出于某种原因,您正在检查myOptions <= 1
- myOptions是否永远不是数字,它将始终是其中一个值的字符串。
更新了jsfiddle:http://jsfiddle.net/troh2bh4/15/