Object.assign()方法不能合并深层次对象
我们只知道Object.assign()方法能合并对象,已存在键的会对其进行更新,不存在的会新增并合并生成一个新对象
但是 Object.assign()方法合并只适用于单层对象
多层对象并不适用
比如:单层对象
1 |
|
比如:多层对象
1 |
|
举个例子:
1 |
|
输出结果会是{ a: { b: 1, c: 2 } ,d:3}
而不是我们想要的这样的 { a: { x: 1,z:3, y: 2 },d:3 }
我们可以找个替代品来实现对象的深层合并(看别的大佬写的代码)
1 |
|
这样有个缺点:
就是Object.assign()方法是单层深拷贝
而这个方法是在a的值的基础上进行更改
Object.assign()方法不能合并深层次对象
http://ultracode.cn/2021/10/15/NewJs/Object.assign()方法不能合并深层次对象/