繁体   English   中英

将数组添加到json对象angularjs

[英]Add an array to json object angularjs

我正在尝试将JSON数组添加到JSON对象。 我的代码是这样的

$scope.packageElement = {
    "settings": [
        {
            "showNextPallet": true,
            "isParcelData": false,
            "isFreightData": true,
            "name": 0
        }
    ]
};

dataFromServer = {
    "pData": [
        {
            "PKUNIT": "LP",
            "PKDESC": "LARGE PKG",
            "PKDLEN": 30,
            "PKDWDT": 20,
            "PKDHTG": 20
        }
    ]
};

$scope.packageElement.concat(dataFromServer.pData);

但这会引发错误

TypeError: undefined is not a function

在线

$scope.packageElement.concat(dataFromServer.pData);

我想要的输出是这样的

var expectedOutPut = {
    "settings": [
        {
            "showNextPallet": true,
            "isParcelData": false,
            "isFreightData": true,
            "name": 0
        }
    ], "pData": [
        {
            "PKUNIT": "LP",
            "PKDESC": "LARGE PKG",
            "PKDLEN": 30,
            "PKDWDT": 20,
            "PKDHTG": 20
        }
    ]
};

谁能指出我在这里做错了什么?

简单:

$scope.packageElement.pData = dataFromServer.pData;

$scope.packageElement是一个对象,它没有concat函数。

或者,更好的选择是使用angular.extend()

var expectedOutPut = angular.extend({}, $scope.packageElement, {'pData': dataFromServer.pData});

这样,您将复制对象,而不是修改它们。
注意:请记住,angular.extend不支持递归合并(深度复制)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM