【发布时间】:2020-01-10 09:38:30
【问题描述】:
当我在我的用户输入中输入一个与类型 obj 不匹配的随机字符串时,会出现警报。但是,当我输入与警报(无效类型)匹配的有效输入时,仍然会弹出。并且不通过 if 语句。
示例: 用户输入:作为有效输入的恐怖应该返回所有电影列表,但警报仍然出现,说它不是有效的类型。
else 语句出现 if 语句是否等于genre[i].name
$('#submitButton').click(function(){
reset();
// getting genre from user
let genreSubmission = $('#inputSearch').val().toLowerCase();
let genreId = 0;
// api genre ids objects to change the api link
const genre = [
{
"id": 28,
"name": "Action"
},
{
"id": 12,
"name": "Adventure"
},
{
"id": 16,
"name": "Animation"
},
{
"id": 35,
"name": "Comedy"
},
{
"id": 80,
"name": "Crime"
},
{
"id": 99,
"name": "Documentary"
},
{
"id": 18,
"name": "Drama"
},
{
"id": 10751,
"name": "Family"
},
{
"id": 14,
"name": "Fantasy"
},
{
"id": 36,
"name": "History"
},
{
"id": 27,
"name": "Horror"
},
{
"id": 10402,
"name": "Music"
},
{
"id": 9648,
"name": "Mystery"
},
{
"id": 10749,
"name": "Romance"
},
{
"id": 878,
"name": "Science Fiction"
},
{
"id": 10770,
"name": "TV Movie"
},
{
"id": 53,
"name": "Thriller"
},
{
"id": 10752,
"name": "War"
},
{
"id": 37,
"name": "Western"
}];
for (let index = 0; index < genre.length; index++) {
if(genreSubmission === genre[index].name.toLowerCase()){
genreId = genre[index].id;
console.log(genreId);
} else{
return alert("not a valid genre");
}
};
【问题讨论】:
-
您检查每一个类型,因此如果用户键入有效的“恐怖”,您仍然会收到
array.length-1警报,每个类型都显示“无效”其余类型。
标签: javascript for-loop if-statement