const listOfWords = ['angel', 'break', 'clear', 'knock', 'maybe'];
var userWord = readLine("Enter a 5 letter word: \n");
var randomItem = listOfWords[Math.floor(Math.random()*listOfWords.length)];
var newWord = userWord;
var randomItem;
letterChecker();
僅當字母在陣列中但不在該位置時才應顯示“is yellow”陳述句,并且僅當字符根本不在陣列中但它們都不起作用時才應放置“is gray”陳述句應該。當您輸入 5 個字母的單詞時,應該比較相應的字符,例如 [0]、[1]、[2]、[3]、[4],但事實并非如此。對于背景關系,我在下面有相同的 if 陳述句,但每個 [] 都是下一個數字。它們都在同一個函式中,我只是沒有添加它,所以它不占用空間。
function letterChecker() {
println(randomItem);
if(newWord[0] === randomItem[0]) {
console.log(newWord[0] " is green");
} else {
if(newWord.includes(randomItem[0])){
console.log(newWord[0] " is yellow");
}
}
if(!newWord.includes(randomItem[0])){
console.log(newWord[0] " is grey");
}
if(newWord[1] === randomItem[1]) {
console.log(newWord[1] " is green");
} else {
if(newWord.includes(randomItem[1])){
console.log(newWord[1] " is yellow");
}
}
if(!newWord.includes(randomItem[1])){
console.log(newWord[1] " is grey");
}
if(newWord[2] === randomItem[2]) {
console.log(newWord[2] " is green");
} else {
if(newWord.includes(randomItem[2])){
console.log(newWord[2] " is yellow");
}
}
if(!newWord.includes(randomItem[2])){
console.log(newWord[2] " is grey");
}
if(newWord[3] === randomItem[3]) {
console.log(newWord[3] " is green");
} else {
if(newWord.includes(randomItem[3])){
console.log(newWord[3] " is yellow");
}
}
if(!newWord.includes(randomItem[3])){
console.log(newWord[3] " is grey");
}
if(newWord[4] === randomItem[4]) {
console.log(newWord[4] " is green");
} else {
if(newWord.includes(randomItem[4])){
console.log(newWord[4] " is yellow");
}
}
if(!newWord.includes(randomItem[4])){
console.log(newWord[4] " is grey");
}
}
第一個詞是我輸入到 readline() 中的詞,第二個詞是隨機詞。這是輸出:
Enter a 5 letter word:
angel
break
a is grey
Enter another word:
break
r is yellow
Enter another word:
break
e is green
Enter another word:
break
a is green
Enter another word:
break
k is green
擴展輸出:
Enter a 5 letter word:
angel
break
a is yellow
Enter another word:
break
r is green
Enter another word:
break
e is green
Enter another word:
break
a is green
Enter another word:
break
k is green
代碼輸出:
ReferenceError: i is not defined
at letterChecker (17:10)
at 12:1
Enter a 5 letter word:
angel
randomItemknock
uj5u.com熱心網友回復:
我認為您只是includes倒退了;您正在檢查用戶的單詞是否包含來自隨機單詞的特定字母,而您應該檢查隨機單詞是否包含來自用戶單詞的字母。
const listOfWords = ['angel', 'break', 'clear', 'knock', 'maybe'];
//var userWord = readLine("Enter a 5 letter word: \n");
var userWord = "angel";
var randomItem = listOfWords[Math.floor(Math.random()*listOfWords.length)];
var newWord = userWord;
var randomItem;
letterChecker();
function letterChecker() {
console.log("randomItem",randomItem);
for (i = 0; i < 5; i ) {
console.log("newWord[i]",newWord[i]);
console.log("randomItem[i]",randomItem[i]);
console.log("equal?",newWord[i] === randomItem[i]);
console.log(randomItem " includes '" newWord[i] "'?",randomItem.includes(newWord[i]));
if(newWord[i] === randomItem[i]) {
console.log(newWord[i] " is green");
}
else {
if(randomItem.includes(newWord[i])){//words reversed
console.log(newWord[i] " is yellow");
}
}
if(!randomItem.includes(newWord[i])){
console.log(newWord[i] " is grey");
}
console.log("---")
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/466269.html
標籤:javascript 数组
