Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 使用从JSON提取的循环填充数组_Arrays_For Loop_Getjson_Populate - Fatal编程技术网

Arrays 使用从JSON提取的循环填充数组

Arrays 使用从JSON提取的循环填充数组,arrays,for-loop,getjson,populate,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.childr

我想用从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
 }]

非常感谢您对环路的任何帮助

未测试,但这是一个想法:

$.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
    });
$.getJSON(“http://www.reddit.com/r/pics.json?jsonp=?",
功能(数据){
var lightboxArray=[];

对于(var i=0;i(数组中有10个对象,但为了简洁起见,这里放两个)!宾果…非常感谢。作为补充,为了确保只拉了10张图片,我添加了一个切片-data.data.children.slice(0,9)。length我认为切片排除了最后一项,因此您可能需要执行切片(0,10).但为了更安全的方法,为了确保返回的数组中的项少于10项不会出现问题,我只需将for循环中的测试更改为“isorry,没有意识到必须标记为已回答,现在有”。再次感谢。