const data = [
{ id: 1, pId: 0, chilren: [] },
{ id: 2, pId: 0, chilren: [] },
{ id: 3, pId: 1, chilren: [] },
{ id: 4, pId: 1, chilren: [] },
{ id: 5, pId: 2, chilren: [] },
{ id: 6, pId: 2, chilren: [] },
{ id: 7, pId: 3, chilren: [] },
{ id: 8, pId: 4, chilren: [] },
];
const a: any = [];
data.forEach((item: any) => {
if (item.pId != 0) {
data.forEach((i: any) => {
if (item.pId == i.id) {
i.chilren.push(item);
}
});
}
});
data.forEach((item) => {
if (item.pId == 0) {
a.push(item);
}
});
console.log(a);//
业务逻辑为当子项A的一个pId等于另一个子项B的id时把子项A归为B的chilren