检查数组中是否存在值

时间:2017-04-13 05:15:27

标签: 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 = "correct"
    } else {
      ID = "incorrect"
    }
  }
  document.getElementById('message').innerHTML = ID;
}

1 个答案:

答案 0 :(得分:1)

indexOf()上使用array查找项目的索引,如下所示:

&#13;
&#13;
var myArr = ['10','20','30','40','50']

function checkarray() {
  var ID = document.getElementById('input2').value;
  var i = myArr.indexOf(ID);
  if(i > -1){
    document.getElementById('message').value = 'Exist';
  }
  else{
    document.getElementById('message').value = 'Does not exist';
  }
}
&#13;
<input type="text" id="input2" />
<input type="button" onclick="checkarray()" value="Check"/>
<input type="text" id="message" />
&#13;
&#13;
&#13;

虽然我首选的方法是使用includes()和三元运算符,如下所示:

&#13;
&#13;
var myArr = ['10','20','30','40','50']

function checkarray() {
  var ID = document.getElementById('input2').value;
  document.getElementById('message').value = myArr.includes(ID)? 'Exist' : 'Does not exist';
}
&#13;
<input type="text" id="input2" />
<input type="button" onclick="checkarray()" value="Check"/>
<input type="text" id="message" />
&#13;
&#13;
&#13;