Node.js Javascipt对象覆盖而不是合并

Node.js Javascipt对象覆盖而不是合并,node.js,for-loop,javascript-objects,Node.js,For Loop,Javascript Objects,我正在运行一个for…of循环。我使用的配置文件,config,循环两次,我想要的是将这两个配置都添加到一个Javascript对象中。我遇到的问题是,当我使用扩展语法将来自第一个循环的数据与来自第二个循环的数据合并时,来自第二个循环的数据将覆盖整个对象,而不是合并。(我已经去掉了下面函数中不相关的部分) 我期望在newObject上发生的是:{}->{a}->{ab} 实际上发生的是:{}->{a}->{b}这里的问题是这两个对象具有相同的键。对象应该有一个名称,然后所有的键都是这样的: ob

我正在运行一个for…of循环。我使用的配置文件,
config
,循环两次,我想要的是将这两个配置都添加到一个Javascript对象中。我遇到的问题是,当我使用扩展语法将来自第一个循环的数据与来自第二个循环的数据合并时,来自第二个循环的数据将覆盖整个对象,而不是合并。(我已经去掉了下面函数中不相关的部分)

我期望在
newObject
上发生的是:{}->{a}->{ab}


实际上发生的是:{}->{a}->{b}

这里的问题是这两个对象具有相同的键。对象应该有一个名称,然后所有的键都是这样的:

objA:
  key1:v1
---
objB:
  key1:v2
key1:v1
---
key1:v2
但他们都有这样的顶级钥匙:

objA:
  key1:v1
---
objB:
  key1:v2
key1:v1
---
key1:v2

如果两个对象具有相同的键,则第一个对象将被第二个对象覆盖。我重述了对象的创建方式和所有问题的解决方法

你能在codesandbox/JSFIDLE中重现这个问题吗?看看代码,除非newObject和mergedObj都是空的,否则看起来没有什么问题。当然,这里有一个链接:JSFIDLE中的控制台输出看起来有点奇怪,因为我没有提取实际数据,但您仍然可以看到问题。我可以确认newObject只有在最初在循环之前创建时才是空的,并且mergedObj也不是空的。