为什么对象不合并?

时间:2018-11-16 14:34:25

标签: javascript reactjs gatsby

我想将对象合并为一个。

但是结果是:const articles仅显示最后一个对象...为什么?

capture d ecran 2018-11-16 a 15 27 14

capture d ecran 2018-11-16 a 15 27 07

2 个答案:

答案 0 :(得分:1)

传播语法分配的工作方式类似于Object.assign()。您的三个对象都有一个称为“ edges”的属性。当您“合并”它们时,每个对象中“ edges”的值将被复制到目标中,但这是一个 shallow 副本。运行时不会尝试对数组值进行任何更深层次的组合,因此您只需要复制最后一个数组即可。

如果要合并(或连接或以其他方式)数组,则必须使用显式的代码来实现。

答案 1 :(得分:1)

您不能使用相同名称的3个不同键 您期望{ edges: {}, edges: {}, edges:{} }吗?

或者也许{ ...infographics.edges, ...posts.edges, ...pulses.edges }正确吗?