Javascript 检查数组中是否存在值

Javascript 检查数组中是否存在值,javascript,arrays,if-statement,Javascript,Arrays,If Statement,我想检查用户输入的值是否与数组中的一个值匹配。下面的代码是我到目前为止得到的。除了此刻,无论我进入什么地方,它总是说“不正确”。有人能告诉我这是为什么,并提供一个可能的修复 function checkarray() { var ID = document.getElementById('input2').value for (var i = 0; i < array.length; i++) { if (ID == array[i]) { ID = "corr

我想检查用户输入的值是否与数组中的一个值匹配。下面的代码是我到目前为止得到的。除了此刻,无论我进入什么地方,它总是说“不正确”。有人能告诉我这是为什么,并提供一个可能的修复

function checkarray() {
  var ID = document.getElementById('input2').value
  for (var i = 0; i < array.length; i++) {
    if (ID == array[i]) {
      ID = "correct"
    } else {
      ID = "incorrect"
    }
  }
  document.getElementById('message').innerHTML = ID;
}
函数checkarray(){
var ID=document.getElementById('input2')。值
对于(var i=0;i
数组上使用
indexOf()
查找项的索引,如下所示:

var myArr=['10','20','30','40','50']
函数checkarray(){
var ID=document.getElementById('input2')。值;
var i=myArr.indexOf(ID);
如果(i>-1){
document.getElementById('message')。值='Exist';
}
否则{
document.getElementById('message')。值='不存在';
}
}


使用
array.indexOf(ID)!=-1查看该值是否存在。基本上,一旦找到正确的循环,您就需要中断循环。如果您想使用循环,您需要更改在循环本身中检查的初始值。。使用另一个变量设置correct/incorrect,然后在满足
correct
条件时,在找到循环时中断。更多关于搜索的内容。我刚刚尝试了这个,但它仍然说不正确。如果数组包含单词而不是数字,代码是否会有所不同?对于字符串数组,不需要解析索引中的值。请立即尝试该代码段。还要确保使用Array.prototype.includes而不是indexOf