【发布时间】:2021-10-05 02:21:59
【问题描述】:
我有这个对象数组
[
{ id: '1', foo: 'bar' },
{ id: '1', foo: 'foo' },
{ id: '4', bar: 'foo' }
]
我如何将它通过id 合并得到下面的结果?
想要的结果:
{
'1': [
{ foo: 'bar' },
{ foo: 'foo' }
]
'4': [
{ bar: 'foo' }
]
}
我尝试过 Object.entries,但这种方法不适用于我正在做的事情。
编辑:
我阅读了this 问题的答案,首先他们都没有完全回答我的问题,其次他们也不是打字稿答案。
所有答案都是 key => val 而我需要 key => 该键的对象数组
【问题讨论】:
-
你没有合并。你在分组。按 id 搜索 javascript 组
-
... OP 是如何尝试的?这是一个经典的
reduce任务。 -
那么那个问题的first answer 提供了一个完美返回您想要的结果的函数。只需使用
groupBy(yourArray, 'id') -
请不要破坏您的帖子。通过在 Stack Exchange 网络上发布,您已根据 CC BY-SA 4.0 许可授予 Stack Exchange 分发该内容的不可撤销的权利(即无论您未来的选择如何)。根据 Stack Exchange 政策,帖子的非破坏版本是分发的版本,因此,任何破坏行为都将被撤销。如果您想了解更多关于删除帖子的信息,请参阅:How does deleting work?
标签: javascript arrays typescript merge grouping