let data = [
{
id: 1,
pid: 0,
name: '江西'
},
{
id: 2,
pid: 1,
name: '南昌'
},
{
id: 6,
pid: 1,
name: '上饶'
},
{
id: 3,
pid: 1,
name: '宜春'
},
{
id: 4,
pid: 3,
name: '高安'
},
{
id: 5,
pid: 3,
name: '上高'
}
]
function tree(data, value) {
let arr = []
data.forEach(element => {
if(element.pid === value){
arr.push(element)
let children = tree(data, element.id)
children.length && (element.children = children)
}
});
return arr
}
console.log(tree(data, 0))