Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.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/13.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
将变量与javascript中的特定字符串数组对象进行比较_Javascript_Arrays_Comparison - Fatal编程技术网

将变量与javascript中的特定字符串数组对象进行比较

将变量与javascript中的特定字符串数组对象进行比较,javascript,arrays,comparison,Javascript,Arrays,Comparison,我是javascript新手,尝试做一个简单的猜颜色游戏,下面是我的代码: <!doctype html> <html> <head> <title>Guessing Color Game</title> </head> <body onload="do_game()"> <script> var target; var colors; var finished =

我是javascript新手,尝试做一个简单的猜颜色游戏,下面是我的代码:

<!doctype html>
<html>
<head>
    <title>Guessing Color Game</title>
</head>
<body onload="do_game()">
<script>

    var target;
    var colors;
    var finished = false;
    var guess_input;
    var guesses = 0;


    var random_number = Math.random() * 11;
    var random_number_index = Math.floor(random_number);

    colors = ["Aqua", "Black", "Blue", "Brown", "Cyan", "Grey", "Green", "Orange", "Red", "White", "Yellow"];
    target = colors[random_number_index];

    function do_game() {

        alert("Hello mate, wanna play a game???");
        alert("You gotta guess a color, alright???");
        alert("Available colors are: \n\n0. Aqua \n1. Black \n2. Blue \n3. Brown \n4. Cyan \n5. Grey \n6. Green \n7. Orange" +
            " \n8. Red \n9. White \n10. Yellow");
        alert("Random color to guess is " + target + ", which is index " + random_number_index + " in the array");

        while (!finished) {
            guess_input = prompt("Write the name of your chosen color please:").toLowerCase();
            guesses++;
            finished = check_guess();
        }
    }

    function check_guess() {
        if (target == guess_input)
            return true;
    }
</script>
</body>
</html>

猜颜色游戏
var目标;
变异颜色;
var finished=false;
var-u输入;
var猜测=0;
var random_number=Math.random()*11;
var随机数指数=数学下限(随机数);
颜色=[“浅绿色”、“黑色”、“蓝色”、“棕色”、“青色”、“灰色”、“绿色”、“橙色”、“红色”、“白色”、“黄色”];
目标=颜色[随机数\索引];
函数do_game(){
警惕(“你好,伙计,想玩游戏吗?”);
警惕(“你得猜颜色,好吗?”);
警报(“可用颜色为:\n\n0.Aqua\n1.Black\n2.Blue\n3.Brown\n4.Cyan\n5.Grey\n6.Green\n7.Orange”+
“\n8.红色\n9.白色\n10.黄色”);
警报(“猜测的随机颜色为“+target+”,即数组中的索引“+Random_number_index+”);
当(!完成){
guess_input=prompt(“请写下所选颜色的名称:”).toLowerCase();
猜测++;
完成=检查猜测();
}
}
函数检查_guess(){
如果(目标==猜测输入)
返回true;
}
我的问题是check_guess()函数:我有一个无限循环,因为目标没有与guess_输入进行比较。为什么会这样?

试试这个:

function check_guess() {
  if (target === guess_input) {
    return true;
  }
}

您正在使用小写的
guess\u输入检查
target
颜色

相反,将
.toLowerCase()
应用于
目标和
猜测输入,或者两者都不应用

您需要检查
目标的
.toLowerCase()
颜色与
猜测输入的颜色

因此,您需要做的唯一更改如下:

colors[random_number_index].toLowerCase()

var目标;
变异颜色;
var finished=false;
var-u输入;
var猜测=0;
var random_number=Math.random()*11;
var随机数指数=数学下限(随机数);
颜色=[“浅绿色”、“黑色”、“蓝色”、“棕色”、“青色”、“灰色”、“绿色”、“橙色”、“红色”、“白色”、“黄色”];
target=colors[random_number_index].toLowerCase();
函数do_game(){
警惕(“你好,伙计,想玩游戏吗?”);
警惕(“你得猜颜色,好吗?”);
警报(“可用颜色为:\n\n0.Aqua\n1.Black\n2.Blue\n3.Brown\n4.Cyan\n5.Grey\n6.Green\n7.Orange”+
“\n8.红色\n9.白色\n10.黄色”);
警报(“猜测的随机颜色为“+target+”,即数组中的索引“+Random_number_index+”);
当(!完成){
guess_input=prompt(“请写下所选颜色的名称:”).toLowerCase();
猜测++;
完成=检查猜测();
}
}
函数检查_guess(){
日志(目标,猜测输入)
如果(目标==猜测输入)
返回true;
}

做游戏()相同的循环结果是否显示了我的答案帮助?这就是问题所在Sandeep,谢谢你的解释,现在已经清楚了。这就是问题所在Sandeep,谢谢你的解释,现在已经清楚了。@Fabrico:太好了!。如果答案有助于解决问题,则可以将其标记为已接受。