Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果else不能正常工作,则使用JavaScript_Javascript_Arrays_If Statement - Fatal编程技术网

如果else不能正常工作,则使用JavaScript

如果else不能正常工作,则使用JavaScript,javascript,arrays,if-statement,Javascript,Arrays,If Statement,上面的代码没有按照我的预期工作。每当我从数组中输入一个项目时,它就会转到其他部分。不使用键输入您只需使用值,因此您当前不需要使用键访问食物,分配给#display food的HTML将是for..in循环最后一次迭代的结果。不要使用for..in来迭代数组。另外,你需要在第一次匹配时打破循环。我很确定这里的问题是你在迭代食物数组,但在每次不匹配的迭代中,你都会打印“错误”消息,所以你永远看不到你已经匹配了其中一个值。在成功匹配时添加break语句根本不使用循环。使用food\u arr.inde

上面的代码没有按照我的预期工作。每当我从数组中输入一个项目时,它就会转到其他部分。

不使用
键输入
您只需使用
,因此您当前不需要使用键访问食物,分配给
#display food
的HTML将是
for..in
循环最后一次迭代的结果。不要使用
for..in
来迭代数组。另外,你需要在第一次匹配时打破循环。我很确定这里的问题是你在迭代食物数组,但在每次不匹配的迭代中,你都会打印“错误”消息,所以你永远看不到你已经匹配了其中一个值。在成功匹配时添加break语句根本不使用循环。使用
food\u arr.indexOf(food\u choice)
谢谢@Mohan P.它正在工作。但是,请您解释一下我的代码中出现了什么问题。您需要检查所选项目是否存在,并且您正在从数组中检查它是否与所有元素匹配。显然,它不会与所有元素匹配。
function food(){
    var food_choice = document.getElementById('food-ch').value;
    console.log(food_choice);
    var food_arr = ['tuna','salmon','prawn','chicken'];
    for(key in food_arr){
        if(food_choice === food_arr[key]){
            console.log(food_arr[key]);
            $('#display-food').html("You have chosen "+food_arr[key]);
        }
        else{
            $('#display-food').html("Please try again");
        }
    }
}
function food(){
     var food_choice = document.getElementById('food-ch').value;
     console.log(food_choice);
     var food_arr = ['tuna','salmon','prawn','chicken'];
     if(food_arr.indexOf(food_choice) != -1){
                $('#display-food').html("You have chosen" +food_choice);
    } else {
                $('#display-food').html("Please try again");
    }
}