【发布时间】:2019-10-22 04:49:58
【问题描述】:
我有一个如下所示的对象数组:
let stuff = [
{
"id": "48202847",
"name": "Doe"
},
{
"id": "17508",
"name": "Marie"
},
{
"id": "175796",
"name": "Robert"
},
{
"id": "175796",
"name": "Ronald"
},
]
我想要的是一个看起来像这样的字典:
{
"D": [{"id": "48202847", "name": "Doe"}],
"M": [{"id": "17508", "name": "Marie"}],
"R": [{"id": "175796", "name": "Robert"}, {"id": "175796", "name": "Ronald"}]
}
注意所有名字以“R”开头的人是如何被列在一个键下的。
这是我的函数,它创建一个以人名作为键的字典:
const byId = (array) =>
array.reduce((obj, item) => {
obj[item.name] = item
return obj
}, {})
但这显然不能达到我想要的效果。我确实有一些关于如何使这成为可能的想法,但它们是非常传统的,我很想知道如何正确地做到这一点。 任何帮助表示赞赏!
【问题讨论】:
标签: javascript