把一组非树形结构的数据,根据parentId组成树形结构。
export const flatToTree = (list: Array<any>) => {
const result = []; // 存放结果集
const itemMap: any = {}; //
for (const item of list) {
const id = item.id;
const parentId = item.parentId;
if (!itemMap[id]) {
itemMap[id] = {
children: [],
}
}
itemMap[id] = {
...item,
children: itemMap[id]['children']
}
const treeItem = itemMap[id];
if (parentId === '0') {
result.push(treeItem);
} else {
if (!itemMap[parentId]) {
itemMap[parentId] = {
children: []
}
}
itemMap[parentId].children.push(treeItem)
}
}
return result;
}