在Javascript中合并对象以无限加载Ajax插件

在Javascript中合并对象以无限加载Ajax插件,javascript,jquery,ajax,object,merge,Javascript,Jquery,Ajax,Object,Merge,我正在尝试实现无限滚动。ajax请求返回一个包含10个线程的对象。每次用户滚动到底部时都会调用此ajax请求。我要寻找的是一种将这些对象合并在一起的方法 一个对象如下所示: Article: Object page: 1 last_page: 20 data: Array[10] 0: Object 1: Object 2: Object 数据数组对象的内部是数组和对象。。。所以我这里的问题是,我们说的是一个相当大的对象,

我正在尝试实现无限滚动。ajax请求返回一个包含10个线程的对象。每次用户滚动到底部时都会调用此ajax请求。我要寻找的是一种将这些对象合并在一起的方法

一个对象如下所示:

Article: Object
    page: 1
    last_page: 20
    data: Array[10]
        0: Object
        1: Object
        2: Object
数据数组对象的内部是数组和对象。。。所以我这里的问题是,我们说的是一个相当大的对象,包含各种各样的对象和数组。你知道我该怎么做吗


谢谢大家! 要将数组添加到另一个数组,可以使用以下代码:

// `b` onto `a`:
a.push.apply( a, b );
有关合并/组合阵列的最佳方法的更多信息,请访问

在你的情况下,似乎你最终保留了一大堆数据。这意味着您将把新文章数据推到最上面。因为您知道这堆将是最大的,所以如果您使用以下方法,它将提供良好的性能:

var articlePile = article.data;
// For every new article push the data onto the pile
articlePile.push.apply( articlePile, article2.data );

现在还不清楚你到底想达到什么目的。为什么你不能合并所有的数据数组呢?我试着用concat来做,但没有成功,因为它也包含对象。非常感谢,它终于成功了!:但是,我不太确定您的第二个示例如何提供更好的性能?这是更好的性能,因为您正在将较小的数组(新的article.data)推到较大的数组上。假设您运行ajax代码10次。在这种情况下,将10个新项目推送到包含90个项目的数组中比将90个项目推送到包含10个项目的数组中要快;而不是第2条。数据。推送。应用第2条。数据,文章堆?我想知道Facebook是如何做到这一点的。我不知道他们的时间线是否结束了?@Hillcow是的,我的意思是,不知道Facebook是如何做到的。但这只是一个友好的提醒:如果除了在页面上显示数据之外,您不打算对数据做任何事情,那么您不一定需要将所有数据保存在一个数组中。您也可以只处理新数据并将其输出到屏幕上,而不将其添加到庞大的数据堆中。当然,这取决于你打算如何处理这些数据。哦,这其实是一个很好很简单的想法,我一点都没有哈哈