如何与javascript扩展运算符中的嵌套键合并?

Har*_*esh 4 javascript object ecmascript-6

我有以下对象

obj1 = { key1: { a: 1}}
Run Code Online (Sandbox Code Playgroud)

我想将以下对象与上述对象合并

key1 = { b: 2}
Run Code Online (Sandbox Code Playgroud)

我想通过将key1与第一个对象中的现有键合并来获得如下结果。

{key1: {a: 1, b: 2}} 
Run Code Online (Sandbox Code Playgroud)

如何在 javascript 中使用扩展运算符来做到这一点?提前致谢。

Mah*_*Ali 6

您可以传播现有对象和新对象

注意:使用扩展运算符只会合并可枚举的属性。

const obj1 = { key1: { a: 1}}
const key1 = { b: 2};
const res = {...obj1,key1:{...obj1.key1,...key1}};
console.log(res)
Run Code Online (Sandbox Code Playgroud)

如果要修改原始对象,则只需更改 obj.key1

const obj1 = { key1: { a: 1}}
const key1 = { b: 2};
obj1.key1 = {...obj1.key1,...key1}
console.log(obj1)
Run Code Online (Sandbox Code Playgroud)