我有一个循环:添加到我在一个循环?
for (var i in $quizData['answers']) {
$(".question"+(parseInt(i)+1)+" a").text($quizData['answers'][i]['answer']);
};
在循环我需要添加一个1到我,我已经通过parseInt函数来实现这一点,有没有更好的办法?
我有一个循环:添加到我在一个循环?
for (var i in $quizData['answers']) {
$(".question"+(parseInt(i)+1)+" a").text($quizData['answers'][i]['answer']);
};
在循环我需要添加一个1到我,我已经通过parseInt函数来实现这一点,有没有更好的办法?
只需使用一个循环,然后i + 1
如果与0第一i
开始:
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"}
如果$ quizData [ '答案']是一个数组,你可以做
$quizData['answers'].forEach(function(element,i){
$(".question"+(i+1)+" a").text(element['answer']);
});
第一函数的参数是元素,第二个是你的数组的索引
你可以做+ i + 1,但parseInt更安全。 – 2013-03-08 22:45:10
您需要确保$ quizData键是数字。如果是这样,只需使用**(i + 1)** – letiagoalves 2013-03-08 22:46:58
@KevinB'parseInt(x,10)',也许..缺少假设的十进制基数是JavaScript没有正确的。 – 2013-03-08 22:59:03