Javascript数组排序

Javascript数组排序,javascript,html,arrays,sorting,Javascript,Html,Arrays,Sorting,我正在学习编码,我需要一些帮助。我正在做一个游戏,玩家必须猜一个颜色。如果播放机写入的字符串不在数组中,我需要帮助。我一直在努力寻找解决办法,但我找不到 代码在这里: <script> var guess_input; var target_index; var target; var color = ["cyan", "magenta", "green", "blue", "red"]; var finished = false;

我正在学习编码,我需要一些帮助。我正在做一个游戏,玩家必须猜一个颜色。如果播放机写入的字符串不在数组中,我需要帮助。我一直在努力寻找解决办法,但我找不到

代码在这里:

<script>

    var guess_input;
    var target_index;
    var target;
    var color = ["cyan", "magenta", "green", "blue", "red"];
    var finished = false;
    var count = 0;
    function do_game() {
        var target_index = Math.random() * color.length;
        var target_index = Math.floor(target_index);
        var target = color[target_index];
        alert(target);

        while(!finished) {
            var guess_input = prompt("I am thinking one of these colors: " + "\n\n" + color.sort() + "\n\n" + "What color am I thinking of?");
            count++;
            alert(guess_input);
            var finished = check_guess();
        }
        function check_guess()  {   
            //HERE I NEED A CODE IN THE CASE THAT
            //THE PLAYER WRITE AN STRING THAT IS
            //NOT IN THE ARRAY OF COLOURS

            if (target > guess_input) {
                alert("Your color is lower");
                return false;
            }
            if (target < guess_input) {
                alert("Your color is higher")
                return false; 
            }
            if (target===guess_input) {
                myBody=document.getElementsByTagName("body")[0];
                myBody.style.background=target;
                alert("Congratulations, you have guessed, it took you " + count + "  times")
                return true;
            }   
        }       
    }   

</script>

var-u输入;
var目标指数;
var目标;
颜色变量=[“青色”、“洋红”、“绿色”、“蓝色”、“红色”];
var finished=false;
var计数=0;
函数do_game(){
var target_index=Math.random()*color.length;
var目标指数=数学下限(目标指数);
var目标=颜色[目标指数];
警报(目标);
当(!完成){
var guess_input=prompt(“我正在考虑这些颜色中的一种:”+“\n\n”+color.sort()+“\n\n”+“我在考虑什么颜色?”);
计数++;
警报(猜测输入);
var finished=检查_guess();
}
函数检查_guess(){
//这里我需要一个代码,以防
//游戏者写的字符串是
//不是在一系列的颜色中
如果(目标>猜测输入){
警惕(“您的颜色较低”);
返回false;
}
如果(目标<猜测\输入){
警惕(“你的颜色更高”)
返回false;
}
如果(目标===猜测输入){
myBody=document.getElementsByTagName(“正文”)[0];
myBody.style.background=target;
警报(“恭喜你,你已经猜到了,它花了你“+计数+”次”)
返回true;
}   
}       
}   

您可以使用indexOf()方法测试用户输入的颜色是否是您的颜色之一。 例:


这可以通过使用该方法来实现

除了你的代码破坏了我的标签外,这里还有一些你可以使用的代码

    var guess_input;
    var target_index;
    var target;
    var color = ["cyan", "magenta", "green", "blue", "red"];
    var finished = false;
    var count = 0;
    function do_game() {
        var target_index = Math.random() * color.length;
        var target_index = Math.floor(target_index);
        var target = color[target_index];
        alert(target);

        while(!finished) {
            var guess_input = prompt("I am thinking one of these colors: " + "\n\n" + color.sort() + "\n\n" + "What color am I thinking of?");
            count++;
            alert(guess_input);
            var finished = check_guess();
        }
        function check_guess()  {   
            //HERE I NEED A CODE IN THE CASE THAT
            //THE PLAYER WRITE AN STRING THAT IS
            //NOT IN THE ARRAY OF COLOURS

            if(color.indexOf(guess_input) == -1){
                alert("You guessed wrong chumley!");
            }

            if (target > guess_input) {
                alert("Your color is lower");
                return false;
            }
            if (target < guess_input) {
                alert("Your color is higher")
                return false; 
            }
            if (target===guess_input) {
                myBody=document.getElementsByTagName("body")[0];
                myBody.style.background=target;
                alert("Congratulations, you have guessed, it took you " + count + "  times")
                return true;
            }   
        }       
    }   
var-guess\u输入;
var目标指数;
var目标;
颜色变量=[“青色”、“洋红”、“绿色”、“蓝色”、“红色”];
var finished=false;
var计数=0;
函数do_game(){
var target_index=Math.random()*color.length;
var目标指数=数学下限(目标指数);
var目标=颜色[目标指数];
警报(目标);
当(!完成){
var guess_input=prompt(“我正在考虑这些颜色中的一种:”+“\n\n”+color.sort()+“\n\n”+“我在考虑什么颜色?”);
计数++;
警报(猜测输入);
var finished=检查_guess();
}
函数检查_guess(){
//这里我需要一个代码,以防
//游戏者写的字符串是
//不是在一系列的颜色中
if(color.indexOf(猜测输入)=-1){
警惕(“你猜错了,查姆利!”);
}
如果(目标>猜测输入){
警惕(“您的颜色较低”);
返回false;
}
如果(目标<猜测\输入){
警惕(“你的颜色更高”)
返回false;
}
如果(目标===猜测输入){
myBody=document.getElementsByTagName(“正文”)[0];
myBody.style.background=target;
警报(“恭喜你,你已经猜到了,它花了你“+计数+”次”)
返回true;
}   
}       
}   

我认为你把任务复杂化了很多,汉克斯,这真的很有帮助好吧,明白了。但它只适用于一种特定的颜色(“黄色”)。我想检查孔阵列。这有意义吗?不,这不具体。indexOf的要点是它检查整个数组中的值。如果找不到值,则返回-1。不客气。如果你觉得这个答案是正确的,请务必把它标记为正确的。这将确保未来的访问者知道这个问题已经解决。
    var guess_input;
    var target_index;
    var target;
    var color = ["cyan", "magenta", "green", "blue", "red"];
    var finished = false;
    var count = 0;
    function do_game() {
        var target_index = Math.random() * color.length;
        var target_index = Math.floor(target_index);
        var target = color[target_index];
        alert(target);

        while(!finished) {
            var guess_input = prompt("I am thinking one of these colors: " + "\n\n" + color.sort() + "\n\n" + "What color am I thinking of?");
            count++;
            alert(guess_input);
            var finished = check_guess();
        }
        function check_guess()  {   
            //HERE I NEED A CODE IN THE CASE THAT
            //THE PLAYER WRITE AN STRING THAT IS
            //NOT IN THE ARRAY OF COLOURS

            if(color.indexOf(guess_input) == -1){
                alert("You guessed wrong chumley!");
            }

            if (target > guess_input) {
                alert("Your color is lower");
                return false;
            }
            if (target < guess_input) {
                alert("Your color is higher")
                return false; 
            }
            if (target===guess_input) {
                myBody=document.getElementsByTagName("body")[0];
                myBody.style.background=target;
                alert("Congratulations, you have guessed, it took you " + count + "  times")
                return true;
            }   
        }       
    }