0

私はループを持っています:

for (var i in $quizData['answers']) {

    $(".question"+(parseInt(i)+1)+" a").text($quizData['answers'][i]['answer']);

};

ループで i に 1 を追加する必要があります。parseInt を使用してこれを達成しました。より良い方法はありますか?

4

3 に答える 3

0

$quizData['answers'] が配列の場合、次のことができます

$quizData['answers'].forEach(function(element,i){
    $(".question"+(i+1)+" a").text(element['answer']);
});

関数の最初のパラメーターは要素で、2 番目は配列のインデックスです。

于 2013-03-08T22:53:29.117 に答える
0

単純にループを使用しi + 1、最初のループiが 0 で始まる場合:

for (var i = 0; i < $quizData.length; i++) {
    $(".question" + (i + 1) + " a").text($quizData['answers'][i]['answer']);
}
于 2013-03-08T22:44:32.183 に答える
0

あなたのコードは完全に問題ありません。同じことを行う「より良い」方法はありません。

JavaScript のオブジェクトのキーは、どのように定義しても常に文字列です。

例えば:

var obj = { 1:"a", 2:"b"}

最終的には次のようになります

{ "1":"a", "2":"b"}
于 2013-03-08T22:50:13.223 に答える