如何查看按钮输入是否与数组中的值匹配?

时间:2018-12-02 04:01:49

标签: javascript arrays

我是编程新手,但我有几个问题,正在构建一个猜词游戏,当玩家单击游戏键盘上的按钮时,空框将显示与下面匹配的所有字母实例是一张图片:

word guessing game

这是我拥有的数组:

const phrases = ["life is strange","success does not come easy", "seven swans swimming", "guess the word", "wild goose chase"]

在这种方法中,我尝试对数组进行迭代以获取每个短语的第一个字母,如果有人从键盘上单击按钮时确实存在匹配项,则需要返回 checkLetter true,我将调用另一个名为 showMatchedLetter()

的方法
checkLetter() {
    for (var i=0; i < phrases.length; i++) {
        console.log(phrases[i].charAt(0) );
        return true
    }
 } 

如果先前的方法返回true,则将调用此方法以显示游戏中的字母

showMatchedLetter() {
//if there was a match on the checkLetter method, then add a show letter class to the lis items
    if (checkLetter === true) {
        newListItem.className = 'show letter';
    }


}

这是键盘的html Keyboard HTMl

这个想法是,如果玩家猜对了,我必须让空白框显示字母的所有实例,有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

据我所知,问题在于您正在尝试使用对div的引用作为比较值。它实际上不会为您提供按钮打算代表的值。我建议更改showMatchedLetter以为字母输入一个参数,然后为每个按钮给它们提供对该函数的onclick调用,并传递其代表的字母。像这样:

<button class="key" onclick="showMatchedLetter('q');">q</button>
<button class="key" onclick="showMatchedLetter('w');">w</button>
<button class="key" onclick="showMatchedLetter('e');">e</button>
<button class="key" onclick="showMatchedLetter('r');">r</button>
<button class="key" onclick="showMatchedLetter('t');">t</button>
<button class="key" onclick="showMatchedLetter('y');">y</button>
//etc...