强文本我想获取用户输入并通过对象数组搜索它。
我用于进入 遍历对象数组 和if循环进行比较。如果if条件为true,则需要向用户显示当前对象详细信息,如果未找到显示错误消息。如果只提供了If条件,但是如果提供了else条件,则只能执行else块,我的代码工作正常。
我的HTML
<input type="text" id="name" placeholder="Name"><br>
<input type="button" value="Get Pokemon Details" id="pokedetails">
JS:
for (var n in data.pokemon) {
if (data.pokemon[n].name.toLowerCase() === value.toLowerCase()) {
let a = data.pokemon[n];
displayDetails(a);
console.log(a);
break;
}else {
alert('invalid name');
}}}
我的javascript代码为了查看目的这么久我已经包含在jsfiddle中,请访问那里获取完整的脚本文件。Click Here to Visit JsFiddle
我的代码或任何解决方案的问题是什么?
如果您在阅读或理解问题时发现一些奇怪的内容,这是我在Stackoverflow道歉中的第一个问题。
答案 0 :(得分:0)
使用temp变量解决了这个问题。
var flag=0;
for (var n in data.pokemon) {
if (data.pokemon[n].name.toLowerCase() === value.toLowerCase()) {
flag=1;
break;
}
}
if (flag==1){
let a = data.pokemon[n];
displayDetails(a);
console.log(a);
}
else{
alert('Invalid Name');
}
}