我有一个while循环无法正常工作,无法找到问题。例如,我可以输入“ L”,它不会启动循环。有人看到我的问题吗?
<script>
var wood = prompt("Enter wood type (M)ahogany, (O)ak, (P)ine");
while (wood != "M" && wood != "m" && wood != "O" && wood != "o" && wood != "P" && wood != "p" && wood == "")
{
wood = prompt("invalid wood please enter (M)ahogany, (O)ak, (P)ine ");
}
</script>
最佳答案
如上面的回答所述,您需要将空字符串更改为“ OR”而不是“ AND”
但是,我可能会写得更具可读性,例如
let woods = ['M','O','P'];
while (!wood || !woods.includes(wood.toUpperCase()))
这样,您无需链接许多不同的变体。只需将其放入数组一次,然后将输入中的所有内容都转换为大写。
希望这可以帮助。