【问题标题】:How to tell whether a letter is in a string-javascript如何判断一个字母是否在字符串中-javascript
【发布时间】:2015-10-16 00:07:50
【问题描述】:

我正在创建一个 Hangman 游戏,并想检查一个字母是否在一个字符串中,以及是否将单词的那部分更改为字母。 我的 HTML:

<div id="word">

  <span id="letter_0"></span><span id="letter_1"></span><span id="letter_2"></span><span id="letter_3"></span><span id="letter_4"></span><span id="letter_5"></span><span id="letter_6"></span><span id="letter_7"></span><span id="letter_8"></span><span id="letter_9"></span>

</div>

这是我的字母“a”的javascript。

    function A(event) {

  for (var letter = 0; letter <= randomWord.length; letter++) {

    if (randomWord[letter] = "a") {

      document.getElementById("letter_" + letter).innerHTML = "A";

    }

  }

  if (event.target.classList.contains("disabled")) { 
    event.preventDefault();
  }

  document.getElementById("A").style.opacity = "0.5";
  event.target.classList.add("disabled");

  score = score + 1;

  document.getElementById("Score").innerHTML = score;

  }

随机单词变量是从单词列表中随机挑选的字符串。函数 A 是一个 onClick 事件,我需要对所有其他函数执行相同的操作,例如:函数 B()、C()、D()。

谢谢

【问题讨论】:

标签: javascript string if-statement for-loop


【解决方案1】:

您正在寻找indexOf

返回指定值在字符串中第一次出现的位置。

如果要搜索的值从未出现,则此方法返回 -1。

randomWord = "test string"
if (randomWord.indexOf("e") != -1) {
    //do stuff here
}

【讨论】:

  • 感谢您的帮助: if (randomWord[letter].indexOf("a") != -1) { document.getElementById("letter_" + letter).innerHTML = "A"; }
【解决方案2】:

试试这个:

function getLetter(min, max) {
    var letters = 9,//9 possibilities from what I understand
        letter = Math.random() * (letters - 1) + 1;
    eval(letter+"()");
    var el = document.getElementById(letter);
    el.style.opacity = "0.5";
    el.classList.add("disabled");
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-10
    • 2011-05-31
    • 2011-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多