2016-07-22 106 views
0

我知道我可以使用$.extend合并到对象。如果我想将一个数组合并/更新到一个现有数组中,这是一个对象属性的值?使用修改后的数组更新对象属性值

Obj = {id: 63, region: "place", shops: Array[246]}

$.extend(true, Obj.traits, amendedShopsArray)// Doesnt work

返回Obj = {id: 63, region: "place", amendedShopsArray: Array[246]

回答

1

您可以添加第二个关键目标具有相同数据,然后delete一个你不想:

// shops mocked for simplicity 
 
var obj = {id: 63, region: 'place', shops: [1, 2, 3]}; 
 

 
obj.amendedShopsArray = obj.shops; 
 
delete obj.shops; 
 

 
console.log(obj);

0

由于$.extend不会合并数组,你可以使用Array.concat这样的:

var newArray = [.....]; 
Obj.shops = Obj.shops.concat(newArray); 

如果你想更改的属性名称:

var newArray = [.....]; 
Obj.amendedShopsArray = Obj.shops.concat(newArray); 
delete Obj.shops;