JavaScript push()覆盖现有数据 $.getJSON(“http://aratarikan.com/api/posts?format=json)完成(函数(json){ resultsTop=json.results; sumTop=resultsTop.length; 对于(i=0;i

JavaScript push()覆盖现有数据 $.getJSON(“http://aratarikan.com/api/posts?format=json)完成(函数(json){ resultsTop=json.results; sumTop=resultsTop.length; 对于(i=0;i,javascript,jquery,json,Javascript,Jquery,Json,在之前为循环定义事件: $.getJSON("http://aratarikan.com/api/posts?format=json").done(function (json) { resultsTop = json.results; sumTop = resultsTop.length; for (i=0; i<sumTop; i++){ resultTop = resultsTop[i]; var event = [];

之前为
循环定义
事件:

$.getJSON("http://aratarikan.com/api/posts?format=json").done(function (json) {
    resultsTop = json.results;
    sumTop = resultsTop.length;
    for (i=0; i<sumTop; i++){
        resultTop = resultsTop[i];
        var event = [];
        event ["id"] = resultTop.id;
        event ["pu"] = resultTop.publish_date;
        event ["ti"] = resultTop.title;

        var events =[];
        events.push(event);
        console.log(events)
    }    
});
var事件=[];

对于(i=0;i在
之前为
循环定义
事件:

$.getJSON("http://aratarikan.com/api/posts?format=json").done(function (json) {
    resultsTop = json.results;
    sumTop = resultsTop.length;
    for (i=0; i<sumTop; i++){
        resultTop = resultsTop[i];
        var event = [];
        event ["id"] = resultTop.id;
        event ["pu"] = resultTop.publish_date;
        event ["ti"] = resultTop.title;

        var events =[];
        events.push(event);
        console.log(events)
    }    
});
var事件=[];

for(i=0;i在代码中,您正在for循环内重新初始化事件数组。这导致了问题。您需要在for循环外初始化它。 此外,还需要在每个循环开始时重新初始化事件对象

以下代码应该可以工作:

var events =[];
for (i=0; i<sumTop; i++){
    resultTop = resultsTop[i];
    var event = [];
    event ["id"] = resultTop.id;
    event ["pu"] = resultTop.publish_date;
    event ["ti"] = resultTop.title;

    events.push(event);
}    
console.log(events)
$.getJSON(“http://aratarikan.com/api/posts?format=json)完成(函数(json){
resultsTop=json.results;
sumTop=resultsTop.length;
var事件=[];

for(i=0;i在代码中,您正在for循环内重新初始化事件数组。这导致了问题。您需要在for循环外初始化它。 此外,还需要在每个循环开始时重新初始化事件对象

以下代码应该可以工作:

var events =[];
for (i=0; i<sumTop; i++){
    resultTop = resultsTop[i];
    var event = [];
    event ["id"] = resultTop.id;
    event ["pu"] = resultTop.publish_date;
    event ["ti"] = resultTop.title;

    events.push(event);
}    
console.log(events)
$.getJSON(“http://aratarikan.com/api/posts?format=json)完成(函数(json){
resultsTop=json.results;
sumTop=resultsTop.length;
var事件=[];

对于(i=0;iO_o,我用一个代码段是个坏主意,因为它不起作用。请原谅我!;-)o_o,我用一个代码段是个坏主意,因为它不起作用。请原谅我!;-)你的问题是因为你在每次迭代中创建一个新的
事件
数组-你想在外部声明
事件
(就在for循环之前)。您的问题是因为您在每次迭代中都要创建一个新的
events
数组-您希望在for循环之外(就在之前)声明
events