JavaScript“for”循环选择JSON数据

时间:2017-03-01 19:02:32

标签: javascript json

OKAYSO,我正在处理一些JSON数据并将其格式化为DOM,我正试图避免看起来像这样的东西...

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;

为避免这种情况,我正在使用以下for循环

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);
};

...它返回undefined。

知道我搞砸了什么吗?

3 个答案:

答案 0 :(得分:3)

正确的代码是:

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

你应该使用带索引的变量,在你的例子中,你已经把索引&#34; [count]&#34;正确的索引是&#34; 0&#34;。

答案 1 :(得分:1)

我认为您正在使用1到4的索引,并且您在循环中使用0。所以数组[0]是未定义的。

即使JSON索引从0开始,代码也应如下所示,注意使用&#34; story [count]&#34;不是故事[&#39; + [count] +&#39;]

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

答案 2 :(得分:1)

尝试下面的代码:

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