所以我接到了一项任务(查看图片),我需要做一个猜谜游戏。它被指定为几乎所有内容都使用数组,所以这是我的问题。当我检查重复项(
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>
我期待在
correctWord
数组中得到correctlyGuessedLetters
,但它似乎不适用于双字母的单词?