我有两个对象
$scope.a= {"Sedan":{"Audi":["A3","A4"]},"Hatchback":{"Maruthi":["Swift"]}};
var b= {"Hatchback":{"Volkswagen":["Polo"],"Fiat":["Punto1"]}};
合并后我需要以下结果
{"Sedan":{"Audi":["A3","A4"]},"Hatchback":{"Maruthi":["Swift"],"Volkswagen":["Polo"],"Fiat":["Punto1"]}};
答案 0 :(得分:3)
你可以这样做..
$scope.a= {"Sedan":{"Audi":["A3","A4"]},"Hatchback":{"Maruthi":["Swift"]}};
var b= {"Hatchback":{"Volkswagen":["Polo"],"Fiat":["Punto1"]}};
var mergedobj= angular.merge($scope.a, b); //merge object b into $scope.a
请看这里的plunkr工作 http://plnkr.co/edit/VpHwERUmLqx6MlwQj6JB?p=preview
答案 1 :(得分:1)
使用angular.merge
$scope.object = angular.merge($scope.a, b)
答案 2 :(得分:0)
尝试以下代码段
$scope.extend(obj, src) {
for (var key in src) {
if (src.hasOwnProperty(key)) obj[key] = src[key];
}
return obj;
}
合并对象
$scope.extend($scope.a, b);
或者您可以使用直接jQuery函数。请确保您应该在角度最小值之前加载jquery min。在DOM上加载jquery min之后,请在jQuery函数下面调用
var newObj = $.extend(true, $scope.a, b);
答案 3 :(得分:-1)
如果您需要新对象,请尝试以下方法:
var c = {};
angular.extend(c, $scope.a, b);
或者你可以这样做:
angular.extend($scope.a, b);
$scope.a
将包含合并后的结果。