微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

发出循环比较字母的问题

如何解决发出循环比较字母的问题

所以...我有一个奇怪的问题?我正在练习简单的游戏,在这里您尝试猜测项目的名称。当我想在单击u后显示正确的字母时,遇到了奇怪的比较问题,因此...字符串的第一个字母等于相同的字母,但是其余的字符串字母-返回未定义...

这是我的代码,也是结果/输出

for (x = 0; x < wylosowaneslowo.length; x++) {
  if (wylosowaneslowo[x] == litera) {
    id_litery.push(x);
    console.log(wylosowaneslowo[x],litera,id_litery[x]);
  }
}
  1. 字符串的第一个字符:

    first character of string

  2. 字符串的第二个字符:

    second character of string

解决方法

在您的代码中,您将推入数组并查看索引。因此,如果索引不匹配,则说明您在查找未定义的索引。

您可能想用可能性创建一个数组,并更改具有匹配项的索引。

var phrase = "Hello World";
var shown = phrase.split('').map(function (char) {
  return char.match(/[a-z]/i) ? '_' : char;
});


function guess(letter) {
  for (let i=0; i<phrase.length; i++) {
    if (phrase[i].toLowerCase() === letter.toLowerCase()) {
      shown[i] = phrase[i];
    }
  }
  console.log("guess: ",letter," game: ",shown.join(" "));
}

guess("s");
guess("l");
guess("o");
guess("h");
guess("e");
guess("w");
guess("d");
guess("r");

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。