将一个含有nodeId和parentId的list拼接成数
时间: 2024-11-05 21:29:45 浏览: 10
将一个包含`nodeId`和`parentId`字段的列表按照层级关系合并成树形结构通常是一个递归的过程,也称为扁平化或层次遍历。这个过程可以分为以下几个步骤:
1. 创建一个空的结果列表用于存储最终的树状结构。
2. 遍历原始列表,对于每个节点:
- 如果`parentId`为空(根节点),则直接添加到结果列表中。
- 否则,在结果列表中查找匹配`parentId`的已存在的节点,如果找到,将其添加到该节点的子节点列表中;如果没有找到,则说明当前节点属于一个新的分支,创建一个新的顶级节点,并将当前节点添加为子节点。
3. 返回结果列表,这就是扁平化的树形结构。
例如,如果你有一个类似这样的列表:
```python
data = [
{"id": 1, "parentId": null},
{"id": 2, "parentId": 1},
{"id": 3, "parentId": 1},
{"id": 4, "parentId": 2},
{"id": 5, "parentId": 2},
]
```
经过处理后,你会得到一个类似于这样的树结构:
```json
{
"id": 1,
"children": [
{
"id": 2,
"children": [
{"id": 4},
{"id": 5}
]
},
{"id": 3}
]
}
```
阅读全文