为了将requestData
转换为treeList
格式的数据,我们需要遍历requestData
并构建一个树形结构。这里的关键在于识别每个节点的父节点,并将其作为子节点添加到相应的父节点下。
下面是一个简单的实现方法:
- 创建一个映射表:首先基于
requestData
创建一个映射表,键是id
,值是对应的对象。 - 构建树形结构:然后遍历映射表中的所有条目,如果某个条目的
parentId
为0
(根节点),则直接加入到最终的树数组中;如果不是根节点,则找到其父节点,并将其作为子节点添加到父节点下。
parent
与treeList
的关联方式
parent
是通过idMap
查找得到的,它代表某个节点的父节点。- 当一个节点被添加到
parent.children
数组中时,实际上是将它添加到了它所属的父节点的子节点列表中。 - 所有的根节点都会直接添加到
treeList
数组中,而这些根节点的children
数组中会包含它们各自的子节点。
总结
通过上述过程,parent
与treeList
之间的关联是通过构建树形结构实现的:
- 根节点直接添加到
treeList
中。 - 非根节点通过
parent.children.push(item);
的方式添加到它们各自的父节点的子节点列表中。 - 最终,
treeList
数组包含了所有根节点及其子节点组成的完整树形结构。