有一段JSON,如下:
按樹狀層級來說,是3級,我現在希望返回前2級,第3級丟掉,要如何用javascript程式碼來實現呢?
原來的結構:
[{
'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': []
}
]
}]
處理後的結構:
[{
'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': []
}
]
}]
樹的操作用遞歸比較方便
depth 為保留的層數,注意是對
'id': 1,
那層的結點呼叫。你直接循環json的兩級重新組裝個新的json不就可以了嗎。