如何判断字母是否在字符串-javascript中

时间:2015-10-16 00:07:51

标签: javascript string if-statement for-loop

我正在制作一个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>

这是我的javascript字母&#34; a&#34;。

    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事件,我需要对所有其他函数执行相同的操作,EG:函数B(),C(),D()。

由于

2 个答案:

答案 0 :(得分:1)

您正在寻找indexOf

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

如果要搜索的值永远不会发生,则此方法返回-1。

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

答案 1 :(得分:0)

试试这个:

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");
}