-1

JavaScript で多肢選択式の州都クイズを作成する必要があります。50 個すべての州の配列 (stateArray) と 50 個すべての大文字の配列 (capitalArray) が正しい順序で存在します。
「(空白)の首都は何ですか」という質問のあるテーブルがあり、(空白)にstateArrayの状態を入力したいと思います。
次に、4 つのラジオ ボタンがあり、1 つには capitalArray からの正しい答えを入力し、残りの 3 つには capitalArray からのランダムな大文字を入力します。どうすればいいですか?

私は答えを求めてインターネット全体を探していましたが、それを見つけることができないようです. それぞれの横に表示したいテキストを入力する場合、質問/ラジオボタンをコーディングする方法は知っていますが、配列から引き出す方法はわかりません。助けてください。

編集:わかりました、多分私はこれを間違った方法で尋ねました. 宿題を誰かにやってもらいたくない。割り当てにはさらに多くのことがあります。具体的には、配列からデータを取得して質問とラジオ ボタンを設定する方法がわかりません。教科書やインターネットで情報を見つけることができません。私はこの時点でイライラして混乱しているだけで、どこに助けを求めればいいのかわからない. これを行う方法に関するチュートリアルまたは情報を見つけることができる場所を誰かが知っていれば、それも役立ちます。



私の質問にマークを付けた人へ: マークを付ける場合は、今後の質問を改善できるように、その理由をコメントで残していただけると非常に助かります。ありがとうございました!:-)

4

1 に答える 1

1

アレイからプルする方法がわかりません

テーブルのすべての行について、任意の配列(状態など)からランダムなインデックスを選択します。

var questionIndex = Math.round(Math.random(stateArray.length));

次に、取得した質問インデックスを使用して、両方が正しい順序である場合に、両方の配列から値を取得します。

var question = stateArray[questionIndex],
    answer = capitalArray[questionIndex];

これで、行のHTMLフィールドにデータを入力できます。

編集:

ラジオボタンの「間違った」答えを得るには、次のようにするだけです。

var incorrectAnswerIndices = [],
    incorrectAnswerIndex;

while (incorrectAnswerIndices.length < 3) {
    incorrectAnswerIndex = Math.round(Math.random(stateArray.length));
    // Check for collisions with the correct answer,
    // and make sure there are no identical answers:
    if (incorrectAnswerIndex !== questionIndex &&
            incorrectAnswerIndices.indexOf(incorrectAnswerIndex) === -1) {
        incorrectAnswerIndices.push(incorrectAnswerIndex);
    }
}

これで、配列を繰り返しincorrectAnswerIndices、誤った質問のラジオボタンの値を作成/入力できます。たとえば、次のようになります。capitalArray[incorrectAnswerIndices[0]]これは、特定の州の3つの誤った大文字の名前の最初の名前です。

于 2013-03-09T21:19:03.377 に答える