修改对象数组中的某些字段

时间:2016-02-14 03:51:51

标签: angularjs

我从服务器获得一些看起来像这样的对象:

{
   "id": 1",
   "name": "Jim"
}

我在$scope.myThings投掷它们,在我的应用中修改它们,添加一些字段,它们最终看起来像这样:

{    
   "id": 1",
   "name": "Jim",
   "favoriteFood": "Noodles"
}

也许我从服务器获得更新,改变了吉姆的名字。我想获取从服务器返回的对象数组,并将其更改应用于$ scope中的列表,而不必完全替换列表(即:$scope.myThings = newData)或必须迭代比较ID。

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以使用angular.merge

它正在使用对象和数组。

<强>使用

angular.merge(dst, src);

dst 对象目标对象。

src 对象源对象。

例如:

var a = [{x:4}]; var b=[{x:2,y:3}]; angular.merge(a,b);

<强>结果: a=[{x: 2,y: 3}]

var a = [{x:4}]; var b=[{x:2,y:3}]; angular.merge(b,a);

<强>结果: b=[{x: 4,y: 3}]