У меня есть данные, которые структурированы следующим образом:
let siteLists = [
{
"data": {
"client_id": 29
},
"all_branch": 1,
"value": 29,
"label": "A Site"
},
{
"data": {
"client_id": 23,
},
"all_branch": 0,
"value": 91,
"label": "B-1 Site"
},
{
"data": {
"client_id": 23,
},
"all_branch": 0,
"value": 86,
"label": "B-2 Site"
},
{
"data": {
"client_id": 10
},
"all_branch": 1,
"value": 10,
"label": "C Site"
}
];
Мне нужно объединить вышеупомянутый объект, который имеет такое же значение data.client_id
, в один объект, который содержит все значения ветвей.
Ожидаемый результат:
[
{
id: 29,
branches: [],
all_branch:1
},
{
id: 23,
branches: [91,86],
all_branch:0
},
{
id: 10,
branches: [],
all_branch:1
}
]
Я попробовал следующий код, но результат не соответствует ожидаемому результату ...
let populate = [...siteLists.map(item => {
return item.all_branch === 1 ? {
all_placement: 1,
placement_id: item.data.client_id,
branch_id: []
} : {
all_placement: 0,
placement_id: item.data.client_id,
branch_id: [item.value]
}
})];