我有一個循環:添加到我在一個循環?
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