使用从JSON拉出的循环填充数组

时间:2012-08-16 18:46:49

标签: arrays for-loop getjson populate

我想用getJSON函数中的数据填充一个对象数组。

我目前正在逐个对象地做这件事,但是知道用for循环会更清晰......

这是getJSON:

$.getJSON("http://www.reddit.com/r/pics.json?jsonp=?",
    function(data) {

        var imageurl1 = data.data.children[0].data.url;
        var imagecaption1 = data.data.children[0].data.title;;
        var commentlink1 = "http://www.reddit.com" + data.data.children[0].data.permalink;

        var imageurl2 = data.data.children[1].data.url;
        var imagecaption2 = data.data.children[1].data.title;
        var commentlink2 = "http://www.reddit.com" + data.data.children[1].data.permalink;

       }

这是我使用

数据的数组
var lightboximages = [
 { 
    src: imageurl1,
    caption: imagecaption1,
    comments: commentlink1
 }, { 
    src: imageurl2,
    caption: imagecaption2,
    comments: commentlink2
 }]

非常感谢对循环的任何帮助!

1 个答案:

答案 0 :(得分:1)

未经测试,但这是个主意:

$.getJSON("http://www.reddit.com/r/pics.json?jsonp=?",
    function(data) {
       var lightboxArray = [];
       for (var i=0; i<data.data.children.length; i++) {
           var child = data.data.children[i];
           var lightboxObj = {"src":child.data.url, "caption":child.data.title, "comments":child.data.permalink};
           lightboxArray.push(lightboxObj);
       }
       // now call some function to process the array we've built
    });