4

データベースを使用してハングマン ゲームを構築しています。私の目標は、推測されたすべての文字を「aesdfr」のようにフィールドに保存することです。1 つの文字列、おかしなことは何もありません。

次に、文字を推測された文字の配列に分割します。

それを念頭に置いて、次のものがあれば

var word = "frog";
var stored_guesses = "frsd"; // hard coded for now
var guessed_letters = stored_guesses.split("");

次に、推測された文字を調べて、推測しなかった文字ごとに「_」を画面に表示し、推測した文字の正しい文字を表示するにはどうすればよいですか?

私は、stored_guesses の各文字をループして、存在しない文字ごとに元の単語をハイフンに置き換えることを考えていました。しかし、私は混乱しています。

私はこれを可能な限り行っていると確信しています。推測された文字を保存し、エンコードされた単語を表示するより良い方法はありますか?

4

2 に答える 2

2

ES5ワンライナー:

word.split("").map( function(l) { return stored_guesses.indexOf(l) !== -1 ? l : "_" } ) .join("")

古いブラウザーのサポートが必要な場合は、標準の for ループを使用して実行できます。

var w = word.split("");
var display = "";
for (var i = 0; i< w.length; i++) {
    display += stored_guesses.indexOf(w[i]) !== -1 ? w[i]  : "_";
}
console.log(display);
于 2013-10-31T14:26:57.270 に答える