Terdapat sekeping JSON, seperti berikut:
Mengikut tahap pokok, ia adalah tahap 3. Saya kini ingin kembali ke 2 tahap pertama dan membuang tahap ke-3 Bagaimana saya boleh menggunakan kod javascript untuk mencapai ini?
Struktur asal:
[{
'id': 1,
'title': 'node1',
'nodes': [
{
'id': 11,
'title': 'node1.1',
'nodes': **[
{
'id': 111,
'title': 'node1.1.1',
'nodes': []
}**
]
},
{
'id': 12,
'title': 'node1.2',
'nodes': []
}
]
}, {
'id': 2,
'title': 'node2',
'nodes': [
{
'id': 21,
'title': 'node2.1',
'nodes': []
},
{
'id': 22,
'title': 'node2.2',
'nodes': []
}
]
}, {
'id': 3,
'title': 'node3',
'nodes': [
{
'id': 31,
'title': 'node3.1',
'nodes': []
}
]
}]
Struktur yang diproses:
[{
'id': 1,
'title': 'node1',
'nodes': [
{
'id': 11,
'title': 'node1.1',
**'nodes': []**
},
{
'id': 12,
'title': 'node1.2',
'nodes': []
}
]
}, {
'id': 2,
'title': 'node2',
'nodes': [
{
'id': 21,
'title': 'node2.1',
'nodes': []
},
{
'id': 22,
'title': 'node2.2',
'nodes': []
}
]
}, {
'id': 3,
'title': 'node3',
'nodes': [
{
'id': 31,
'title': 'node3.1',
'nodes': []
}
]
}]
Adalah lebih mudah untuk menggunakan rekursi untuk operasi pokok
depth ialah bilangan lapisan yang dikhaskan. Ambil perhatian bahawa ia dipanggil untuk nod lapisan itu.
'id': 1,
Anda hanya boleh mengulangi dua tahap json dan memasang semula json baharu.