私はループを持っています:
for (var i in $quizData['answers']) {
$(".question"+(parseInt(i)+1)+" a").text($quizData['answers'][i]['answer']);
};
ループで i に 1 を追加する必要があります。parseInt を使用してこれを達成しました。より良い方法はありますか?
私はループを持っています:
for (var i in $quizData['answers']) {
$(".question"+(parseInt(i)+1)+" a").text($quizData['answers'][i]['answer']);
};
ループで i に 1 を追加する必要があります。parseInt を使用してこれを達成しました。より良い方法はありますか?
$quizData['answers'] が配列の場合、次のことができます
$quizData['answers'].forEach(function(element,i){
$(".question"+(i+1)+" a").text(element['answer']);
});
関数の最初のパラメーターは要素で、2 番目は配列のインデックスです。
単純にループを使用しi + 1
、最初のループi
が 0 で始まる場合:
for (var i = 0; i < $quizData.length; i++) {
$(".question" + (i + 1) + " a").text($quizData['answers'][i]['answer']);
}
あなたのコードは完全に問題ありません。同じことを行う「より良い」方法はありません。
JavaScript のオブジェクトのキーは、どのように定義しても常に文字列です。
例えば:
var obj = { 1:"a", 2:"b"}
最終的には次のようになります
{ "1":"a", "2":"b"}