我正在尝试向object1中的obj sub添加新属性。然而它被覆盖了
const object1 = {
a: 1,
b: 2,
c: 3,
sub: {
e: 1,
f: 2
}
};
const object2 = Object.assign({
j: 4,
m: 5
}, object1.sub);
console.log(object2);
答案 0 :(得分:6)
您可以切换Object.assign
的参数,因为目标是第一个。
const object = { a: 1, b: 2, c: 3, sub: { e: 1, f: 2 } };
Object.assign(object.sub, { j: 4, m: 5 });
console.log(object);
答案 1 :(得分:1)
使用ES6语法:
const object1 = { a: 1, b: 2, c: 3, sub: { e: 1, f: 2 } };
const object2 = {...object1, sub: {...object1.sub, j: 4, m: 5}}
console.log(object2)