【发布时间】:2018-03-01 09:47:48
【问题描述】:
我的输入对象数组是这样的,我有一个输入数组是这样的:
[{"id": 657, "name": "Amadeus Basin", "contenttype": "province"}
{"id": 1173, "name": "Amazonas Basin", "contenttype": "province"}
{"id": 373, "name": "American Samoa", "contenttype": "countries"}
{"id": 1, "name": "Samoa", "contenttype": "marine"}
{"id": 796, "name": "Amhara", "contenttype": "province"}]
我想要实现的是:
[
{
"contenttype": "province",
"content" : [
{
"id": 657,
"name": "Amadeus Basin"
},
{
"id": 1173,
"name": "Amazonas Basin"
},
{
"id": 796,
"name": "Amhara"
}
]
}, {
"contenttype": "countries",
"content": [
{
"id": 373,
"name" : "American Samoa"
}
]
},
{
"contenttype": "countries",
"content": [
{
"id": 1,
"name" : "Samoa"
}
]
}
]
根据一个值拆分数组中的对象,并在这些新创建的对象中创建相同对象的子数组。 使用 lodash 也很好。
【问题讨论】:
-
加个尝试就好了。
-
你试过什么?
-
_.groupBy(data, 'contenttype')
标签: javascript arrays lodash