Я хочу объединить вложенный массив объектов на основе ключа.
Я получаю этот ответ от publi c API, который я не контролирую:
[
[
{
users: {
'2jf34144-1634-51fd-24fd-74sdg312l934': [Object],
'fdsf23gg-1245-2f53-jk34-531gvp3k56nd': [Object]
}
},
{
users: {
'2jf34144-1634-51fd-24fd-74sdg312l934': [Object],
'fdsf23gg-1245-2f53-jk34-531gvp3k56nd': [Object]
}
},
{
users: {
'2jf34144-1634-51fd-24fd-74sdg312l934': [Object],
'fdsf23gg-1245-2f53-jk34-531gvp3k56nd': [Object]
}
}
],
[
{
users: {
'2jf34144-1634-51fd-24fd-74sdg312l934': [Object],
'fdsf23gg-1245-2f53-jk34-531gvp3k56nd': [Object]
}
},
{
users: {
'2jf34144-1634-51fd-24fd-74sdg312l934': [Object],
'fdsf23gg-1245-2f53-jk34-531gvp3k56nd': [Object]
}
},
{
users: {
'2jf34144-1634-51fd-24fd-74sdg312l934': [Object],
'fdsf23gg-1245-2f53-jk34-531gvp3k56nd': [Object]
}
}
]
]
[Object]
:
frame_id: 4 // or number from 1 to 23
region: 'eu' // or 'na' or 'asia'
// rest data
Я хочу получить это в конце:
[
{
id: '2jf34144-1634-51fd-24fd-74sdg312l934',
4: {
'eu': {
frame: 4,
region: 'eu',
// // rest data
// score: 14523
// track_id: 96426
},
'na': {
// data
},
'asia': {
// data
}
},
5: {
'eu': {
// data
},
'na': {
// data
},
'asia': {
// data
}
}
},
{
id: 'fdsf23gg-1245-2f53-jk34-531gvp3k56nd',
4: {
'eu': {
// data
},
'na': {
// data
},
'asia': {
// data
}
},
5: {
'eu': {
// data
},
'na': {
// data
},
'asia': {
// data
}
}
},
]
У меня есть этот код:
res
.flat()
.map(obj => Object.entries(obj.users))
.flat()
.map(([key, { region, frame_id: frame, ...rest}]) => ({
id: key,
frame,
region,
...rest
}))
Итак, у меня большой массив объектов в конце, и я не знаю, как я могу объединить их на основе ключа / идентификатора, а затем отсортировать с frame
и region
, как я уже упоминал выше.