Javascript 刽子手同一个字母不能再次使用

Javascript 刽子手同一个字母不能再次使用,javascript,Javascript,我试图运行一个程序,让用户通过键入字母来猜单词。同一字母不允许输入两次。我想把输入的每个字母都存储在一个列表中,然后我会在列表中循环,根据用户输入检查每个元素。如果输入两次,将出现“重试”等错误消息。这就是我目前所拥有的 var x = ["Football", "Pie", "Red", "Amber", "Purple", "Blue"];

我试图运行一个程序,让用户通过键入字母来猜单词。同一字母不允许输入两次。我想把输入的每个字母都存储在一个列表中,然后我会在列表中循环,根据用户输入检查每个元素。如果输入两次,将出现“重试”等错误消息。这就是我目前所拥有的

var x = ["Football", "Pie", "Red", "Amber", "Purple", "Blue"];                                                  
var y = x[Math.floor(Math.random() * x.length)].toLowerCase();                                                  
var answerArray = [];                                                   
var lettersUsed = [];                                                   
var numberOfGuesses = 10;                                                   
for (var i = 0; i < y.length; i++)                                                  
{                                                   
  answerArray[i] = "_";                                                 
}                                                   
var remainingLetters = y.length;                                                    
while (remainingLetters > 0 && numberOfGuesses > 0)                                                 
{                                                   
  console.log(answerArray.join(" "));                                                   
  var guess = prompt("Guess a letter\n");                                                   
  if (guess === null)                                                   
  {                                                 
    console.log("Game over");                                                   
    break;                                                  
  }                                                 
  else if (guess.length !== 1)                                                  
  {                                                 
    console.log("Enter a single letter\n");                                                 
  }                                                 
  else                                                  
  {                                                 
    numberOfGuesses--;                                                  
    lettersUsed.push(guess);                                                    
    for (var j = 0; j < y.length; j++)                                                  
    {                                                   
      if (y[j] === guess.toLowerCase() && answerArray[j] === "_")                                                   
      {                                                 
        answerArray[j] = guess.toLowerCase();                                                   
        remainingLetters--;                                                 
      }                                                 
    }                                                   
  }                                                 
}                                                   
console.log(answerArray.join(" "));                                                 
if (numberOfGuesses > 0)                                                    
{                                                   
  console.log("Well done! You've won! Your stick guy has been saved!\n");                                                   
}                                                   
else                                                    
{                                                   
  console.log("Game over! The word was " + y);                                                  
}                                                   
///console.log(lettersUsed);
var x=[“足球”、“馅饼”、“红色”、“琥珀色”、“紫色”、“蓝色”];
变量y=x[Math.floor(Math.random()*x.length)].toLowerCase();
var answerArray=[];
var lettersUsed=[];
var numberOfGuesses=10;
对于(变量i=0;i0&&numberOfGuesses>0)
{                                                   
console.log(answerArray.join(“”);
var guess=提示(“猜一个字母\n”);
如果(猜测===null)
{                                                 
控制台日志(“游戏结束”);
打破
}                                                 
else if(guess.length!==1)
{                                                 
console.log(“输入一个字母\n”);
}                                                 
其他的
{                                                 
无数猜测--;
字母使用。推(猜);
对于(var j=0;j0)
{                                                   
console.log(“干得好!你赢了!你的棍子被救了!\n”);
}                                                   
其他的
{                                                   
log(“游戏结束!单词是“+y”);
}                                                   
///控制台日志(使用字母);

如何编写for循环?任何帮助都将不胜感激。

您可以使用
数组。includes(item)
方法。如果项目在数组中,它将返回
true
。例如:

lettersUsed=['a','b','c'];
设newLetter='b';
如果(字母使用包括(新字母)){
console.log(“已使用的字母”);
}否则{
console.log(“尚未使用的字母”);
}
编辑以回答OP提出的问题:

检查输入长度后,可以添加以下内容:

else if(guess.length!==1)
{
console.log(“输入一个字母\n”);
} 
否则,如果(使用的字母包括(猜测))
{
console.log(“已使用的字母”);
}
其他的
{
无数猜测--;

您可以使用
数组。includes(item)
方法。如果项目在数组中,它将返回
true
。例如:

lettersUsed=['a','b','c'];
设newLetter='b';
如果(字母使用包括(新字母)){
console.log(“已使用的字母”);
}否则{
console.log(“尚未使用的字母”);
}
编辑以回答OP提出的问题:

检查输入长度后,可以添加以下内容:

else if(guess.length!==1)
{
console.log(“输入一个字母\n”);
} 
否则,如果(使用的字母包括(猜测))
{
console.log(“已使用的字母”);
}
其他的
{
无数猜测--;

谢谢在我的代码中我将把if语句放在哪里?谢谢在我的代码中我将把if语句放在哪里?如果问题得到了充分的回答,请不要试图删除它-您可以将答案标记为“已接受”如果问题回答充分,请不要试图删除该问题-您可以将答案标记为“已接受”以表示接受。