Ich habe ein Array von Objekten mit ParentId und Sortierwerte, die ich in ein Array mit verschachtelten "Kinder" und sortiert werden möchte.JavaScript-Format Array von Objekten in verschachtelte Kinder
Zum Beispiel ist hier die Daten:
[{
id: 1,
sort: 2,
parentId: null,
name: 'A'
}, {
id: 2,
sort: 1,
parentId: 1,
name: 'A.1'
}, {
id: 3
sort: 2,
parentId: 1,
name: 'A.2'
}, {
id: 4,
sort: 1,
parentId: null,
name: 'B'
}]
Die Art und Weise Ich mag würde dies wäre zu transformieren, wie:
[{
id: 4,
sort: 1,
parentId: null,
name: 'B',
children: []
}, {
id: 1,
sort: 2,
parentId: null,
name: 'A',
children: [{
id: 2,
sort: 1,
parentId: 1,
name: 'A.1'
}, {
id: 3
sort: 2,
parentId: 1,
name: 'A.2'
}]
}]
Diese sortiert ist (id 4 an der Spitze zu sein, seit sortierung ist 1) und die kinder sind verschachtelt und auch entsprechend sortiert.
Irgendwelche Vorschläge für eine gute Möglichkeit, dies zu tun? Ich kann rekursiv durchlaufen, um Kinder anzuwenden, aber nicht sicher, wie ich das sortieren kann.
Sind die 'Sie Angaben zu einem Zeichen nur? Ist der erste Teil des 'Namens' nur alphabetisch wie in' A-Z' oder gibt es Zahlen und Sonderzeichen? – stackErr
@stackErr Ich denke, Namen sind hier überhaupt nicht wichtig, Sie brauchen sie nicht, um die Frage zu beantworten. Er fügte diese für uns hinzu, um leichter zu sehen, wohin alles gehen sollte. – blex
@stackErr Ja, die Namen sind nur aus Gründen der Einfachheit des Beispiels. Die gesamte Logik würde auf id, parentId und sort basieren. – dzm