const arrayData = [
{ id: 2, title: '中国', parent_id: 0 },
{ id: 3, title: '广东省', parent_id: 2 },
{ id: 4, title: '广州市', parent_id: 3 },
{ id: 5, title: '天河区', parent_id: 4 },
{ id: 6, title: '湖南省', parent_id: 2 },
{ id: 1, title: '俄罗斯', parent_id: 0 }
]
function translationDataToTree(data){
let treeObject = data.reduce((pre,cur) => {
pre[cur.id] = cur;
return pre
},{})
let treeArr = [];
for(let i = 0;i<data.length;i++){
if(data[i].parent_id === 0){
treeArr.push(data[i]);
continue;
}
if(data[i].parent_id in treeObject){
let parent = treeObject[data[i].parent_id];
parent.children = parent.children || [];
parent.children.push(data[i])
}
}
return treeArr
}
let treeObj = translationDataToTree(arrayData);