2017-03-01 147 views
0

OKAYSO,我有一些JSON數據工作,它格式化到DOM中,我試圖避免的東西,看起來像這樣...JavaScript的「for」循環選擇JSON數據

var image1 = content.list.story[1].image[0].crop[1].src; 
var image2 = content.list.story[1].image[0].crop[1].src; 
var image3 = content.list.story[2].image[0].crop[1].src; 
var image4 = content.list.story[3].image[0].crop[1].src; 

爲了避免這種情況,我使用循環以下

var count ; 
for(count = 0; count < 1; count++){ 
    console.log("content.list.story["+[count]+"].image[0].crop[1].src"); 
}; 

該代碼打印

content.list.story[0].image[0].crop[1].src 

完全是,因爲它應該。然而,當我格式化它打印實際資源,因此...

var count ; 
for(count = 0; count < 1; count++){ 
    console.log(content.list.story['+[count]+'].image[0].crop[1].src); 
}; 

...它返回未定義。

任何想法我搞砸了嗎?

+0

'content.list.story [COUNT]圖像配[0] .crop [1] .src' –

回答

3

正確的代碼:

var count ; 
for(count = 0; count < 1; count++){ 
    console.log(content.list.story[count].image[0].crop[1].src); 
}; 

你應該在索引中使用變量,在你的例子中,你已經把索引「[count]」並且正確的索引是「0」。

+0

我是個白癡。謝謝! –

1

我認爲你正在使用從1到4的索引,並且你正在循環中使用0。所以數組[0]是未定義的。

而且即使JSON索引從0開始,代碼應該像下面,記使用 「故事[count]個」 不故事[ '+ [計數] +']

var count ; 
for(count = 0; count < 1; count++){ 
    console.log(content.list.story[count].image[0].crop[1].src); 
}; 
+0

負。 JSON索引從0開始。 –

1

嘗試以下代碼:

var count ; 
for(count = 0; count < 1; count++){ 
    console.log(content.list.story[count].image[0].crop[1].src); 
};