树的操作在前端的工作中占据了比较重要的位置,我总结了一些我平时处理树数据的方法
情况一 将列表转换成 tree
有的时候后端比较懒,不愿意处理树数据,给的是一个列表数据,这时候就需要前端将列表转换成 tree 数据
// 列表数据
const list = [
{
id: 01, pid: null },
{
id: 02, pid: null },
{
id: 03, pid: 01 },
{
id: 04, pid: 03 },
{
id: 05, pid: 01 },
{
id: 06, pid: 03 },
{
id: 07, pid: 02 },
{
id: 09, pid: 02 },
{
id: 10, pid: 07 },
{
id: 11, pid: 07 },
]
// 转换后的数据
const tree = [
{
id: 01,
pid: null,
children: [
{
id: 03,
pid: 01,
children: [
{
id: 04, pid: 03 },
{
id: 06, pid: 03 },
]
},
{
id: 05, pid: 01 },
]
},
{
id