let data = [
{ id: '1', name: '大明', pId: '0', },
{ id: '2', name: '二哈', pId: '1' },
{ id: '3', name: '二狗', pId: '1' },
// { id: '4', name: '1-1-1', pId: '2' },
// { id: '5', name: '1-1-2', pId: '2' },
{ id: '6', name: '大黄', pId: '0' },
];
dataBase (data) {
let obj = {};
let arr = []
data.forEach(item => (obj[item.id] = item))
console.log('data', data)
console.log('Obj', obj)//
data.forEach(el => {
//el.pId为: 0,1,1,0,那obj[el.pId]就是obj[0]不存在,obj[1]大明,obj[1]大明,obj[0]不存在
let parent = obj[el.pId] // 说明obj[el.pId]这条数据有子元素,也就是大明
console.log('parent', parent)
if (parent) {
parent.childred ? parent.childred : parent.childred = []
parent.childred.push(el)
} else {
arr.push(el)
}
});
console.log(arr)
return arr
// data.map(item => {
// if (item.pId != 0) {
// obj[item.pId].children ? obj[item.pId].children.push(item) : (obj[item.pId].children = [item]);
// }
// });
// return data.filter(item => item.pId == 0);
},
obj的数据