друзья у меня есть этот объект json в моей консультации ajax
{
"id": "7",
"descripcion": "Auditorio Cojab",
"patio": "OTROS"
},
{
"id": "19",
"descripcion": "Cancha de f\u00fatbol",
"patio": "OTROS"
},
{
"id": "20",
"descripcion": "Escalonado K\u00ednder",
"patio": "OTROS"
},
{
"id": "17",
"descripcion": "C4 primaria",
"patio": "PRIMARIA"
},
{
"id": "11",
"descripcion": "Patio de primaria",
"patio": "PRIMARIA"
},
{
"id": "3",
"descripcion": "Escenario",
"patio": "SABA"
},
{
"id": "2",
"descripcion": "Terraza",
"patio": "SABA"
}]
я хотел бы посредством какой-то функции в js, группировать в независимом объекте каждый реестр имея в виду поле 'внутренний двор' каждого из них, а именно хотеть что-то как:
[{
"SABA": [
{
"id": "2",
"descripcion": "Terraza"
},
{
"id": "3",
"descripcion": "Escenario"
},
{
"id": "xxxxxxx",
"descripcion": "xxxxx"
}
],
"PRIMARIA": [
{
"id": "x",
"descripcion": "xxxxx"
},
{
"id": "xxxxx",
"descripcion": "xxxxx"
},
{
"id": "xxxxxxx",
"descripcion": "xxxxx"
}
]
}]
я не имею он ни разрабатывает, как группировать каждый реестр независимой формы в объекте часть они могли бы помогать мне? я попробовал делать это с foreachs, но он не дал мне ожидаемый resutaldo
Альтернативная форма используя уменьшает ():
const arr = [{"id": "7","descripcion": "Auditorio Cojab","patio": "OTROS"},{"id": "19","descripcion":"Cancha de f\u00fatbol","patio": "OTROS"},{"id": "20","descripcion": "Escalonado K\u00ednder","patio":"OTROS"},{"id": "17","descripcion":"C4 primaria","patio": "PRIMARIA"},{"id": "11","descripcion": "Patio de primaria","patio": "PRIMARIA"},{"id": "3","descripcion": "Escenario","patio": "SABA"},{"id": "2","descripcion": "Terraza","patio": "SABA"}];
const res = arr.reduce((p, c) => {
(c.patio in p) ? p[c.patio].push(c): p[c.patio] = [c]
return p;
}, {});
console.log(res);