Javascript else if不等于语句

Javascript else if不等于语句,javascript,for-loop,comparison,Javascript,For Loop,Comparison,所以我在做一个项目,在其中我多次调用一个名为lettpool的数组,它包含字母表中的所有字母。每次调用一个字母时,该字母都会从列表中删除,如果用户再次尝试选择该字母,则会收到一条错误消息。然而,我似乎无法将消息发送到fire。确切的代码是 } } } else if (userGuess.match(letters) && userGuess.length === 1) { for (var i = 0; i < letterpool.le

所以我在做一个项目,在其中我多次调用一个名为lettpool的数组,它包含字母表中的所有字母。每次调用一个字母时,该字母都会从列表中删除,如果用户再次尝试选择该字母,则会收到一条错误消息。然而,我似乎无法将消息发送到fire。确切的代码是

}

}
    }
        else if (userGuess.match(letters) && userGuess.length === 1) {
    for (var i = 0; i < letterpool.length; i++) {
        if (userGuess !== letterpool){
        document.getElementById("feedback_box").innerHTML= "You allready guess that one there skippy!"
        }
    }
        }
}

}else {
   document.getElementById("feedback_box").innerHTML= 'please enter one letter, numbers need not apply .';
}
所有代码

//JavaScript document
var answer = ['h', 'a', 'n', 'g', 'm', 'a', 'n'];
var wrong = ['b', 'c', 'd', 'e', 'f', 'i', 'j', 'k', 'l', 'o', 'p', 'q', 'r',
    's', 't', 'u', 'v', 'w', 'x', 'y', 'z'
];
var letters = /^[a-zA-Z]*$/;
var answerLetter = document.getElementsByClassName("answer_char");
var letterpool = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
    'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'
];
var leftarm = false
var rightarm = false
var head = false
var bodys = false
var leg = false
var rightleg = false

onload = init;

function init() {
    updateDisplay()

    document.getElementById("guess_button").onclick = function enter() {
        var userGuess = document.getElementById("guess_text").value;
        // This uses String.prototype.match() used too see if its both a letter and a single entry
        if (userGuess.match(letters) && userGuess.length === 1) {
            for (var i = 0; i < answer.length; i++) {
                if (userGuess === answer[i])
                // answer[i] correlates to answerLetter[i].
                    answerLetter[i].innerHTML = userGuess;
            }
            if (userGuess.match(letters) && userGuess.length === 1) {
                for (var i = 0; i < wrong.length; i++) {
                    if (userGuess === wrong[i])
                        if (!leftarm) {
                            document.getElementsByTagName("img")[1].src =
                                "img/leftarm_on.png";
                            leftarm = true;
                        } else if (leftarm && !head) {
                        document.getElementsByTagName("img")[3].src =
                            "img/rightarm_on.png";
                        head = true
                    } else if (head && !bodys) {
                        document.getElementsByTagName("img")[0].src =
                            "img/head_on.png";
                        bodys = true
                    } else if (bodys && !leg) {
                        document.getElementsByTagName("img")[2].src =
                            "img/body_on.png";
                        leg = true
                    } else if (leg && !rightleg) {
                        document.getElementsByTagName("img")[5].src =
                            "img/rightleg_on.png";
                        rightleg = true

                    } else if (rightleg) {
                        document.getElementsByTagName("img")[4].src =
                            "img/leftleg_on.png";
                        document.getElementById("feedback_box").innerHTML =
                            'sorry you are out of guesses please refresh!';

                    }

                }
            }   else if (userGuess.match(letters) && userGuess.length === 1) {
    for (var i = 0; i < letterpool.length; i++) {
        if (userGuess !== letterpool){
        document.getElementById("feedback_box").innerHTML= "You allready guess that one there skippy!"
        }
    }
        }

        } else {
            document.getElementById("feedback_box").innerHTML =
                'please enter one letter, numbers need not apply .';
        }

        /*var parent = document.getElementsByTagName("p")[2]*/
        if (userGuess.match(letters) && userGuess.length === 1) {
            for (var i = 0; i < letterpool.length; i++) {
                if (userGuess === letterpool[i])
                // answer[i] correlates to answerLetter[i].
                    letterpool.splice(i, 1);
                /* parent.removeChild(letterpool[i])    */
                updateDisplay()

            }

        }

        if (userGuess.match(letters) && userGuess.length === 1) {
            for (var i = 0; i < wrong.length; i++) {
                if (userGuess === wrong[i])
                    wrong.splice(i, 1);


            }
        }


    }




}




/* var userGuess = document.getElementById("guess_text").value;
      letterpool.splice(i, 1);
      for(var i = letterpool.length - 1; i >= 0; i--) {
    if(letterpool[i] === userGuess) {
       array.splice(i, 1);
    }
}
 delete letterpool[i];   
    var userGuess = document.getElementById("guess_text").value;*/

// This uses String.prototype.match() used too see if its both a letter and a single entry


function updateDisplay() {
    document.getElementById("letter_pool").innerHTML = letterpool




}

你认为用户猜测的是什么!==莱特普尔该怎么办?您正在测试字符串和数组是否不相等。@Bergi我想说的是,如果Userguess不等于在莱特普尔中找到的字符,则显示此消息。您的意思是不等于任何字符吗?如果userGuess包含多个字符怎么办?或者userGuess需要与lettpool相同的字符,顺序相同?所有这些都不是问题所在!==接线员有。编写一个帮助函数,以您期望的方式计算此结果。@Bergi I用原始语句修复了代码,验证了它既是一个字母,也是唯一的字母。但是如果“不相等”比较是什么?是的,它是不相等比较。但是lettpool是一个数组,所以您的输入字符串实际上不等于该数组。你的意思是不等于任何一个?