Я использую mapValues
и groupBy
для группировки и создания keys
, когда два элемента имеют одинаковые typeId
.
Например, исходные данные
{
"Name": "One",
"typeId": 1
},
{
"Name": "Two",
"typeId": 2
},
{
"Name": "One Two",
"typeId": 1
},
{
"Name": "Three",
"typeId": 3
},
{
"Name": "Three Two",
"typeId": 3
}
и с помощью groupBy
я группирую объекты с соответствующими typeId
и omit
значением typeId
из `объектовas ...
const GroupedTypes = Object.entries(
_.mapValues(_.groupBy(data, 'typeID'), rlist =>
rlist.map(type => _.omit(type, 'typeID'))
)
);
Возврат по назначению ...
[
"1",
[
{
"Name": "One",
},
{
"Name": "One Two",
}
]
],
[
"2",
[
{
"Name": "Two",
}
]
],
[
"3",
[
{
"Name": "Three",
}
],
[
{
"Name": "Three Two",
}
]
]
Однако я также хотел бы добавить объект для Name
из значения Name
впервый 0
объект.Таким образом, получилось что-то вроде ..
[
"1",
"One",
[
{
"Name": "One",
},
{
"Name": "One Two",
}
]
],
[
"2",
"Two",
[
{
"Name": "Two",
}
]
],
[
"3",
"Three",
[
{
"Name": "Three",
}
],
[
{
"Name": "Three Two",
}
]
]
Я просматривал документацию lodash
и не могу найти метод, который работает.Как мне этого добиться?