Цель: получить список объектов во вложенном объекте на основе его родительского значения.
Здесь у меня ниже моих json
данных:
"data": [
{
"id": "coding-825x500",
"source": {
"information": {
"fileid": "coding-825x500",
"filesize": 67340
},
**"dependent": "d1bc270d"**
}
},
{
"id": "d1bc270d",
"source": {
"information": {
"fileid": "d1bc270d",
"filesize": 193
},
"dependent": "parent"
}
},
{
"id": "1_iwPLQ",
"source": {
"information": {
"fileid": "1_iwPLQ",
"filesize": 580969
},
"dependent": "d1bc270d"
}
},
{
"id": "coding-825",
"source": {
"information": {
"fileid": "coding-825",
"filesize": 67340
},
"dependent": null
}
}
]
}
Здесь в каждом объекте у нас есть идентификатор & зависимый
{
"id": A
"dependent":parent
},
{
"id": B
"dependent":A
},
{
"id": C
"dependent":A
},
{
"id": D
"dependent":null
}
Если идентификатор равен зависимому идентификатору, то он должен быть дочерним, а если зависимый является родительским, тоid == dependent
должен соответствовать этому правилу, и если для него установлено значение null, то это также родитель без дочерних элементов.
Ниже я работал с фильтром, но позже я не уверен, как поступить и создать вложенные объекты.
let info = this.dynamic.data.filter((val)=>{
console.log(val.id, ":::" ,val.source.dependent);
})
Stackblitz => https://stackblitz.com/edit/angular-zvcea7
Желаемый вывод: все дочерние объекты должны быть под родительским для настройки вложенных данных, таблица может иметь формат, приведенный ниже.
{
"id": "A",
"dependent":parent
"nested":[
{
"id":"B",
"dependent":"A"
},
{
"id":"c",
"dependent":"A"
},
]
},
{
"id": "c",
"dependent":null
}