У меня есть json в следующем формате
[{
"id": 1,
"role": {
"id": "25",
},
"target": {
"id": "1083",
},
"staff": {
"name: "
ccc "
}
},
{
"id": 2,
"role": {
"id": "25",
},
"target": {
"id": "1083",
},
"staff": {
"name: "
aaa "
}
},
{
"id": 3,
"role": {
"id": "25",
},
"target": {
"id": "1084",
},
"staff": {
"name: "
staff1 "
}
},
{
"id": 4,
"role": {
"id": "3",
},
"target": {
"id": "1083",
},
"staff": {
"name: "
aaa "
}
}
]
Я пытаюсь сгруппировать по идентификатору роли для всех конкретных идентификаторов цели. Все работает нормально, за исключением того, что я хотел также отсортировать содержимое по имени персонала.
const groupIt = targetId =>
chain(data[2])
.filter(x => x.target.id === targetId)
.groupBy("role.id")
.value()
console.log(groupIt('1083'))
Ожидаемый результат
{
"25": [{
"id": 2 "role": {
"id": "25",
},
"target": {
"id": "1083",
},
"staff": {
"name": "aaa"
}
},
{
"id": 2 "role": {
"id": "25",
},
"target": {
"id": "1083",
},
"staff": {
"name": "ccc"
}
}
],
"3": [{
"id": 4,
"role": {
"id": "3",
},
"target": {
"id": "1083",
},
"staff": {
"name": "staff1"
}
}]
}
Я пытался также поддерживать порядок, но он не работал.Я думаю о том, чтобы пройтись по каждой роли и отсортировать их.Но я думаю, есть ли другое решение.