javascript - 如何在angularjs中合并两个对象数组?

标签 javascript jquery angularjs merge append

我想将以下对象数组 append 到 angulajs 中现有的对象数组中,以实现加载更多功能。

即,每次都将 AJAX 响应 append 到现有响应。

我有一个变量 $scope.actions,其中包含以下 JSON 数据,

    {
    "total": 13,
    "per_page": 2,
    "current_page": 1,
    "last_page": 7,
    "next_page_url": "http://invoice.local/activities/?page=2",
    "prev_page_url": null,
    "from": 1,
    "to": 2,
    "data": [
        {
            "id": 2108,
            "action_type_id": 202,
            "user_id": 1
        },
        {
            "id": 2108,
            "action_type_id": 202,
            "user_id": 1
        }
    ]
}

我想每次使用此变量时 append 以下 JSON 响应。

    {
    "data": [
        {
            "id": 2108,
            "action_type_id": 202,
            "user_id": 1
        },
        {
            "id": 2108,
            "action_type_id": 202,
            "user_id": 1
        }
    ]
}

我尝试过$scope.actions.data.concat(data.data);

但它不起作用并收到以下错误消息

$scope.actions.data.concat 不是函数

最佳答案

您可以使用angular.extend(dest, src1, src2,...);

在你的情况下,它是:

angular.extend($scope.actions.data, data);

请参阅此处的文档:

https://docs.angularjs.org/api/ng/function/angular.extend

否则,如果您只从服务器获取新值,则可以执行以下操作

for (var i=0; i<data.length; i++){
    $scope.actions.data.push(data[i]);
}

关于javascript - 如何在angularjs中合并两个对象数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29948680/

相关文章:

javascript - 从字符串中删除字符

Javascript OOP - jQuery 在 ajax 请求中调用 "this"

javascript - angularjs ng- Controller 不起作用

angularjs - 使用 Jasmine 和 Karma 在 AngularJS 中对具有依赖性的工厂进行单元测试失败

javascript - 使用 Javascript 将表格单元格的内容复制到新的 div 中

javascript - 如何使用 srcset 延迟加载图像?

javascript - AngularJS 使用循环向对象插入新属性

javascript - Mongodb findOne 没有结果/抛出 TypeError

javascript - 如何通过 TamperMonkey 设置文本字段的值?

javascript - 重置并提交不含空值的表单