假设我有这两个对象。
let object1 = {
a: 'value1',
b: 'value2',
c: 'value3',
d: 'value4',
e: 'value5'
}
let object2 = {
a: 'value6',
b: 'value7',
c: 'value8',
d: 'value9',
e: 'value10'
}
我想将object2的c, d and e
属性的值分配给object1。只有这些属性,而不是全部,所以object1应该是
let object1 = {
a: 'value1',
b: 'value2',
c: 'value8',
d: 'value9',
e: 'value10'
}
我知道我可以这样
object1.c = object2.c;
object1.d = object2.d;
object1.e = object2.e;
但是我想知道是否有一种更少代码行的更优雅的方式。有些对象可能具有超过10个属性,并且只需要关联其中的7-8个。
预先感谢!
答案 0 :(得分:3)
您可以先使用destructuring assignment,然后再使用Object.assign()
let object1 = { a: 'value1', b: 'value2', c: 'value3', d: 'value4', e: 'value5'};
let object2 = { a: 'value6', b: 'value7', c: 'value8', d: 'value9', e: 'value10'};
let {c, d, e} = object2;
Object.assign(object1, {c, d, e});
console.log(object1);