0

我有一个循环:

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

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

};

在循环中我需要向 i 添加一个 1,我已经通过 parseInt 实现了这一点,有没有更好的方法?

4

3 回答 3

0

你的代码完全没问题。没有“更好”的方法来做同样的事情。

javascript 中的对象键始终是一个字符串,无论您如何定义它。

例如:

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

最终会变成

{ "1":"a", "2":"b"}
于 2013-03-08T22:50:13.223 回答
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

如果 $quizData['answers'] 是一个数组,你可以这样做

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

函数的第一个参数是元素,第二个是数组的索引

于 2013-03-08T22:53:29.117 回答