我知道我可以使用$.extend
合并到对象。如果我想将数组合并/更新到现有数组中,该数组是某个对象属性之一的值,该怎么办?
Obj = {id: 63, region: "place", shops: Array[246]}
$.extend(true, Obj.traits, amendedShopsArray)
// Doesnt work
返回Obj = {id: 63, region: "place", amendedShopsArray: Array[246]
答案 0 :(得分: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);

答案 1 :(得分:0)
由于$.extend
不会合并数组,因此您可以使用Array.concat
,如下所示:
var newArray = [.....];
Obj.shops = Obj.shops.concat(newArray);
如果要更改属性名称:
var newArray = [.....];
Obj.amendedShopsArray = Obj.shops.concat(newArray);
delete Obj.shops;