为什么不合并对象?
Why objects are not merged?
我想将对象合并为一个。
但结果是:const articles
只显示最后一个对象...为什么?
扩展语法分配的工作方式类似于 Object.assign()
。您的三个对象每个都有一个名为 "edges" 的 属性。当你 "merge" 它们时,每个对象中 "edges" 的值被复制到目标中,但它是一个 shallow 副本。运行时不会尝试对数组值进行任何形式的更深层次的组合,因此您最终只会复制最后一个数组。
如果您想合并(或连接,或其他)数组,您必须使用一段明确的代码来完成。
您不能有 3 个同名的不同密钥
你期待 { edges: {}, edges: {}, edges:{} }
吗?
或者 { ...infographics.edges, ...posts.edges, ...pulses.edges }
是否正确?
我想将对象合并为一个。
但结果是:const articles
只显示最后一个对象...为什么?
扩展语法分配的工作方式类似于 Object.assign()
。您的三个对象每个都有一个名为 "edges" 的 属性。当你 "merge" 它们时,每个对象中 "edges" 的值被复制到目标中,但它是一个 shallow 副本。运行时不会尝试对数组值进行任何形式的更深层次的组合,因此您最终只会复制最后一个数组。
如果您想合并(或连接,或其他)数组,您必须使用一段明确的代码来完成。
您不能有 3 个同名的不同密钥
你期待 { edges: {}, edges: {}, edges:{} }
吗?
或者 { ...infographics.edges, ...posts.edges, ...pulses.edges }
是否正确?