Ich habe ein Flat Array von Objekten, die Eltern- und Kind-Beziehungen hat, aber es ist nicht sehr geradlinig.Erstellen eines Tiefenebenenobjekts aus einem flachen Array in JavaScript
Jeder Eintrag eines Objekts hat FromEntityId (Parent) und ToEntityId (Kind) Zuerst habe ich Eltern oder alle Eltern finden müssen, die Gegenstand der FromEntityId sind, die nicht in irgendeiner der anderen Objekt des ToEntityId und die Kinder ist sein jenes FromEntityId Parent-Objekt zum ToEntityId
Hier unten ist die OriginalData
OriginalData = [
{
"FromEntityId": 266,
"ToEntityId": 348,
"Status": "NULL"
},
{
"FromEntityId": 266,
"ToEntityId": 353,
"Status": "NULL"
},
{
"FromEntityId": 266,
"ToEntityId": 365,
"Status": "NULL"
},
{
"FromEntityId": 359,
"ToEntityId": 350,
"Status": "NULL"
},
{
"FromEntityId": 359,
"ToEntityId": 354,
"Status": "NULL"
},
{
"FromEntityId": 359,
"ToEntityId": 361,
"Status": "NULL"
},
{
"FromEntityId": 359,
"ToEntityId": 364,
"Status": "NULL"
},
{
"FromEntityId": 359,
"ToEntityId": 372,
"Status": "NULL"
},
{
"FromEntityId": 362,
"ToEntityId": 357,
"Status": "NULL"
},
{
"FromEntityId": 365,
"ToEntityId": 369,
"Status": "NULL"
},
{
"FromEntityId": 369,
"ToEntityId": 670,
"Status": "NULL"
},
{
"FromEntityId": 266,
"ToEntityId": 349,
"Status": "NULL"
},
{
"FromEntityId": 266,
"ToEntityId": 359,
"Status": "NULL"
},
{
"FromEntityId": 350,
"ToEntityId": 351,
"Status": "NULL"
},
{
"FromEntityId": 359,
"ToEntityId": 352,
"Status": "NULL"
},
{
"FromEntityId": 359,
"ToEntityId": 355,
"Status": "NULL"
},
{
"FromEntityId": 359,
"ToEntityId": 362,
"Status": "NULL"
},
{
"FromEntityId": 359,
"ToEntityId": 365,
"Status": "NULL"
},
{
"FromEntityId": 361,
"ToEntityId": 358,
"Status": "NULL"
},
{
"FromEntityId": 273,
"ToEntityId": 356,
"Status": "NULL"
},
{
"FromEntityId": 266,
"ToEntityId": 385,
"Status": "NULL"
},
{
"FromEntityId": 266,
"ToEntityId": 389,
"Status": "NULL"
},
{
"FromEntityId": 266,
"ToEntityId": 388,
"Status": "NULL"
},
{
"FromEntityId": 266,
"ToEntityId": 382,
"Status": "NULL"
},
{
"FromEntityId": 369,
"ToEntityId": 380,
"Status": "NULL"
},
{
"FromEntityId": 273,
"ToEntityId": 381,
"Status": "NULL"
},
{
"FromEntityId": 273,
"ToEntityId": 672,
"Status": "NULL"
}
]
Hier unten ist die Finaldata
finalData = [
{
"FromEntityId": 266,
"Status": "NULL",
"depthLevel": 0,
"children": [
{
"FromEntityId": 266,
"ToEntityId": 348,
"Status": "NULL",
"depthLevel": 1
},
{
"FromEntityId": 266,
"ToEntityId": 353,
"Status": "NULL",
"depthLevel": 1
},
{
"FromEntityId": 266,
"ToEntityId": 365,
"Status": "NULL",
"depthLevel": 1,
"children": [
{
"FromEntityId": 365,
"ToEntityId": 369,
"Status": "NULL",
"depthLevel": 2,
"children": [
{
"FromEntityId": 369,
"ToEntityId": 670,
"Status": "NULL",
"depthLevel": 3
},
{
"FromEntityId": 369,
"ToEntityId": 380,
"Status": "NULL",
"depthLevel": 3
}
]
}
]
},
{
"FromEntityId": 266,
"ToEntityId": 385,
"Status": "NULL",
"depthLevel": 1
},
{
"FromEntityId": 266,
"ToEntityId": 389,
"Status": "NULL",
"depthLevel": 1
},
{
"FromEntityId": 266,
"ToEntityId": 388,
"Status": "NULL",
"depthLevel": 1
},
{
"FromEntityId": 266,
"ToEntityId": 382,
"Status": "NULL",
"depthLevel": 1
},
{
"FromEntityId": 266,
"ToEntityId": 349,
"Status": "NULL",
"depthLevel": 1
},
{
"FromEntityId": 266,
"ToEntityId": 359,
"Status": "NULL",
"depthLevel": 1,
"children": [
{
"FromEntityId": 359,
"ToEntityId": 354,
"Status": "NULL",
"depthLevel": 2
},
{
"FromEntityId": 359,
"ToEntityId": 361,
"Status": "NULL",
"depthLevel": 2,
"children": [
{
"FromEntityId": 361,
"ToEntityId": 358,
"Status": "NULL",
"depthLevel": 3
}
]
},
{
"FromEntityId": 359,
"ToEntityId": 364,
"Status": "NULL",
"depthLevel": 2
},
{
"FromEntityId": 359,
"ToEntityId": 372,
"Status": "NULL",
"depthLevel": 2
},
{
"FromEntityId": 359,
"ToEntityId": 352,
"Status": "NULL",
"depthLevel": 2
},
{
"FromEntityId": 359,
"ToEntityId": 355,
"Status": "NULL",
"depthLevel": 2
},
{
"FromEntityId": 359,
"ToEntityId": 362,
"Status": "NULL",
"depthLevel": 2,
"children": [
{
"FromEntityId": 362,
"ToEntityId": 357,
"Status": "NULL",
"depthLevel": 3
}
]
},
{
"FromEntityId": 359,
"ToEntityId": 365,
"Status": "NULL",
"depthLevel": 2
},
{
"FromEntityId": 359,
"ToEntityId": 350,
"Status": "NULL",
"depthLevel": 2,
"children": [
{
"FromEntityId": 350,
"ToEntityId": 351,
"Status": "NULL",
"depthLevel": 3
}
]
}
]
}
]
},
{
"FromEntityId": 273,
"Status": "NULL",
"depthLevel": 0,
"children": [
{
"FromEntityId": 273,
"ToEntityId": 356,
"Status": "NULL",
"depthLevel": 1
},
{
"FromEntityId": 273,
"ToEntityId": 381,
"Status": "NULL",
"depthLevel": 1
},
{
"FromEntityId": 273,
"ToEntityId": 672,
"Status": "NULL",
"depthLevel": 1
}
]
}
];
Ich versuche zu reduzieren Methode eines Arrays in JavaScript, aber immer noch nicht in der Lage, die gewünschte Ausgabe zu erreichen.
Vielen Dank für Ihre Antwort, aber ich bin nicht wirklich überzeugt, über die gewünschten Lösungen, könnte es ein Jahr dauern, mich mit der Lösung sicher zu kommen, ... – bvmCoder