const obj1 = {
prop1: 'value1',
prop2: 'value2',
prop3: { prop4: 'value4', prop5: {
prop5: 'value5'
}
},
}
const obj2 = {
prop6: 'value6',
prop2: 'value2',
prop7: { prop8: 'value8', prop9: {
prop10: 'value10'
}
},
}
我在JavaScript中有两个嵌套的对象,我想把它们合并成一个对象。有的对象属性相同,有的不相同;我想把它们合并,这样相同的就能保留下来。如何合并这两个嵌套很深的对象?
4条答案
按热度按时间2jcobegt1#
关于合并,我们通常有两种方法,Shallow merge and Deep Merge。对于浅合并,JavaScript有这些方法。
1.通过spread operator合并
但是如果你想深度合并,你应该遍历一个对象的所有项,然后一个接一个地合并它们(递归合并),或者使用像Lodash这样的伟大库
1.如何深度合并JavaScript对象?
vlju58qv2#
如果有人想将两个Object合并成一个Object,而不使用任何Library,比如Lodash,那么你可以像下面这样做
另外如果任何人需要覆盖或添加
values of obj1 into obj2
,那么你可以像下面这样做**方法一:-**使用ForLoop覆盖或添加
values of obj1 into obj2
**方法二:-**递归Set Object覆盖或添加
values of obj1 into obj2
我希望这对你有帮助
快乐编码:)
ac1kyiln3#
在Deno中,您可以使用deepMerge-
合并两个给定的记录,递归地合并任何嵌套的记录,如果发生冲突,第二个集合将覆盖第一个集合
jogvjijk4#
递归合并数组和对象