我正在检查两个数组中是否有相同的字母,但是当有多个相同的字母时似乎无法工作

问题描述 投票:0回答:0

所以我接到了一项任务(查看图片),我需要做一个猜谜游戏。它被指定为几乎所有内容都使用数组,所以这是我的问题。当我检查重复项(

guessedLetters
correctWord
中的相同字母)时,代码一直有效,直到出现第二个相同的字母 - 在本例中是倒数第二个索引中的 E。有什么线索可以解决这个问题,甚至是工作表的解决方案吗?

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <style>
        .red {
            background-color: red;
        }

        .green {
            background-color: green;
        }

        p {
            width: 100px;
            height: 20px;
            background-color: black;
            color: white;
        }

        #msgOutput {
            background-color: wheat;
            color: black;
        }
    </style>
</head>
<body>
    
    <input type="text" id = "txtInp">
    <button>?</button>

    <p id = "msgOutput"></p>

    <p class="green"></p>
    <p class="green"></p>
    <p class="green"></p>
    <p class="green"></p>
    <p class="green"></p>

    <script>
        let correctWord = ["B", "E", "R", "G", "E", "N"];
        let input = document.querySelector("input");
        let guessBtn = document.querySelector("button");


        let guessedLetters = []
        let correctlyGuessedLetters = []

        const checkWord = () => {
            let guessedLetter = input.value.toUpperCase()
            guessedLetters.push(guessedLetter)
            

            for(let i = 0; i < guessedLetter.length; i++){
                for(let j = 0; j < correctWord.length; j++){
                    if(guessedLetter[i] == correctWord[j]){
                        console.log(`${guessedLetter[i]} og ${correctWord[j]} er like`)
                        correctlyGuessedLetters[correctWord.indexOf(guessedLetter[i])] = guessedLetter[i]
                    } else {
                        console.log(`${guessedLetter[i]} og ${correctWord[j]} er ikke like`)
                    }
                }
            }

            input.value = ""
            console.log(correctlyGuessedLetters)
        }


        guessBtn.addEventListener("click", checkWord)
    </script>
</body>
</html>

The task for the assignment

我期待在

correctWord
数组中得到
correctlyGuessedLetters
,但它似乎不适用于双字母的单词?

arrays input dom-events variable-assignment
© www.soinside.com 2019 - 2024. All rights reserved.