如果(条件==任何数组值)在JavaScript中

时间:2018-04-09 11:44:15

标签: javascript html arrays if-statement

所以我试图制作一个有很多可能性的if语句,但最终发生的事情现在我在if中有太多||

我想也许可以把所有可能的值都抛到一个数组中,然后只做condition == array或其他东西。

无论如何,这是我的代码。请帮忙。提前谢谢。

<body>
<input id="userInput">
<button onclick="Submit()">Submit</button>
<script>
function Submit() {
var input = document.getElementById("userInput").value;

if (input == "random text" || input == 3 || input == "more random text" 
|| input == false || input == "another random string.")
{
  // Do Something
}
</script>
</body>

1 个答案:

答案 0 :(得分:1)

您可以使用Array#includesArray#indexOf并检查您的数组中是否包含输入,其中您将允许的字符串列入白名单(或其他类型 - 具体取决于您的输入类型)

包含

的演示

&#13;
&#13;
let arr = ['random text', '3', 'more random test', 'lorem ipsum'];

function submit() {
  input = document.getElementById("userInput").value;
  if(arr.includes(input)) {
    alert('yaaay that was easy');
  }
}
&#13;
<input id="userInput">
<button onclick="submit()">Submit</button>
&#13;
&#13;
&#13;