我想检查用户输入的值是否与我的数组中的某个值匹配。下面的代码是我到目前为止所得到的。除了此刻无论我输入什么,它总是说“不正确”。有人可以告诉我为什么会这样,并提供可能的解决方案吗?
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;
}
答案 0 :(得分:1)
在indexOf()
上使用array
查找项目的索引,如下所示:
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;
虽然我首选的方法是使用includes()
和三元运算符,如下所示:
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;