简体   繁体   中英

Need Explaination in this word guessing javascript

So, I want to check wether the input that I give is being correctly executed, but why does the if statement always return false even i give the correct input? I don't want the solution only the need explanation. Please is there anyone who could explain? I've included my html input elements Just in case something wrong with it.

<script>

    var text1 = ["O","K","E"];
    var text2 = ["_","_","_"];

    function guess(j){
        for(i=0; i < text1.length; i++){
            if(j == text1[i]){
                text2[i] = j;
                console.log(text2[i])
            }
            else {
                    console.log("try again")
            }
        }
    }
</script>

The comment of @Unglückspilz in code:

// extra "K" to show how to handle multiple finds
var text1 = ["O","K","E","K"];
var text2 = ["_","_","_","_"];

function guess(j){
    // a flag to set if one or more letters were found
    found = false;
    // check every letter in the haystack against given needle
    for(i=0; i < text1.length; i++){
        if(j == text1[i]){
            // exchange underbar against found letter(s)
            text2[i] = j;
            console.log(text2[i]);
            // set flag to true
            found = true;
        }
    }
    // no letter was correct
    if(!found){
        console.log("try again");
    }
    // return boolean if anything was found (but not how many)
    return found;
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM