在项目开发中往往需要用到树形结构,可是后端返回的数据不符合树形结构,这时就需要我们自行转换成树状结构
封装树形结构转换代码
const convertToTree = (data:any) => {
const map:any = {};
const roots:any = [];
data.forEach((item:any) => {
map[item.id] = { ...item, children: [] };
});
data.forEach((item:any) => {
if (item.parentId && map[item.parentId]) {
map[item.parentId].children.push(map[item.id]);
} else {
roots.push(map[item.id]);
}
});
return roots;
}
使用
convertToTree(res.data) //调用即可