var array = [{id: '0',parentId:null},{id: '1',parentId:'0'},{id: '2',parentId:'0'},{id: '3',parentId:'1'},{id: '4',parentId:'3'},{id: '5',parentId:'4'}];
//排序
array.sort(function(a,b){
return a.id - b.id;
});
//数据递归
function createTree(arr,rootid){
var carr=findChild(arr,rootid);
if(!carr.length){
return null;
}
for(var i=0;i<carr.length;i++){
var cTree=createTree(arr,carr[i].id);
if(cTree!==null){
carr[i]['children']=cTree;
}
}
return carr;
}
//获取子元素
function findChild(arr,id){
var cArr=[];
for(var i=0; i<arr.length;i++){
if(arr[i].parentId===id){
cArr.push(arr[i])
}
}
return cArr;
}
console.log(createTree(array,null));