数组结构转树形结构
/**
- 数组结构转树形结构
- */
const toTree = (data) => {
const result = [];
const map = {};
if (!Array.isArray(data)) return result;
data.forEach(item => delete item.children);
data.forEach(item => map[item.id] = item);
data.forEach(item => {
const parent = map[item.pid];
if (parent) {
(parent.children || (parent.children = [])).push(item);
} else {
result.push(item);
}
});
return result;
};