私はJSを学んでいて、各質問に4つの可能な答えがあるトリビアゲームをしなければなりません. 質問は、質問を区切る「#」と、各質問を ID、テキスト、正解で区切る「@」の文字列で与えられます。回答については、同様の形式の文字列があります: idQuestion@idAnswer@textOfAnswer# 私は非常に不安定な方法でそれを行ったことを知っています (私は 4 つの配列を使用しています! ._.)。それ。これは、回答を含む文字列から開始し、各回答を「連想配列」に変換するコードです。これは、インデックス付きの回答に保存されます... assocAnswers
(wtf xD)と呼ばれます:
var indexAnswers = strAnswers.split("#");
var auxArray = new Array ();
var auxArray2 = new Array();
var assocAnswers = new Array ();
for (var b=0; b<indexAnswers.length; b++){
auxArray = indexAnswers[b].split("@");
auxArray2 = {
"idQuestion":auxArray[0],
"idAnswer":auxArray[1],
"txtAnswer":auxArray[2]
}
assocAnswers.push(auxArray2);
}
idQuestion の値 (インデックス付き配列の 1 つの要素を占める各「連想配列」の最初のキー) が x 数に等しいかどうかを確認する方法を知りたいです。それを確認したら、idQuestion にも一致する残りの 3 つの回答を見つけ、4 つの回答を div に表示する必要があります (したがって、キーの値を表示する必要がありますtxtAnswer
)。各回答は<label>
無線入力内に表示されますが、jQuery の部分については、助けは必要ないと思います。ところで、私はまだ for...in ループを学んでいないので、誰かが可能な解決策としてそれを使用している場合、その説明は大歓迎です:P ありがとう!
編集: 英語での strQuestions のいくつかの例 (strAnswers はスペイン語のままです):
var strQuestions = "1@How is a function without parameters declared?@2#"
+ "2@Which of the next invocations is right?@4#"
+ "3@Given a function: myFunction(a,b) Which is the correct invocation?@3#";
var strAnswers =
"1@1@ function:myFunction()#1@2@ function myFunction()#1@3@ declare myFunction()#1@4@ new myFunction#2@1@Resultado=myFunction#2@2@Call myFunction()#2@3@myFunction#2@4@Resultado=myFunction()#3@1@MiFuncion a,b#3@2@a=MiFuncion(b)#3@3@MiFuncion(x,y)#3@4@Ninguna de las anteriores#