如何将特定属性从一个对象分配给另一个

时间:2020-06-03 22:38:42

标签: javascript

假设我有这两个对象。

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个。

预先感谢!

1 个答案:

答案 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);