Sal*_*ini 0 html javascript arrays
我有一些水果名称存储在一个数组中.如果用户输入已存储在数组中的食物名称,true
则应返回,否则返回false
.
但它只true
在我输入值时返回Mango
,否则总是返回false
,为什么?
这是我的代码:
HTML:
<input type="text" id="value" />
<button onclick="check()">test</button>
<p id="pValue">
</p>
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
var myVar;
check = function() {
myVar = document.getElementById("value").value;
var fruits = ['Banana', 'Orange', 'Apple', 'Mango'];
for(i = 0; i < fruits.length; i++) {
if(myVar == fruits[i]) {
document.getElementById("pValue").innerHTML = "true";
}
else {
document.getElementById("pValue").innerHTML = "false";
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是因为您正在使用for循环,因此只有最后一个值将返回true.break;
如果您选择将此作为方法保留,则可以向循环添加a .看下面更新的小提琴::
var myVar;
check = function() {
myVar = document.getElementById("value").value;
var fruits = ['Banana', 'Orange', 'Apple', 'Mango'];
for (i = 0; i < fruits.length; i++) {
if (myVar == fruits[i]) {
document.getElementById("pValue").innerHTML = "true";
break;
} else {
document.getElementById("pValue").innerHTML = "false";
}
}
}
Run Code Online (Sandbox Code Playgroud)
<input type="text" id="value" />
<button onclick="check()">test</button>
<p id="pValue">
</p>
Run Code Online (Sandbox Code Playgroud)