JSFiddle - React, Tailwind, and code Playground
by TekVanDo
JavaScript
var data = [
{
"role_id": "1",
"parent_id": "0",
"name": "guest"
},
{
"role_id": "3",
"parent_id": "1",
"name": "user"
},
{
"role_id": "4",
"parent_id": "3",
"name": "admin"
},
{
"role_id": "5",
"parent_id": "0",
"name": "mt"
}
];
function newTree(data,list){
_.each(list,function(one){
var newData = [];
var childrens = _.filter(data,function(sec){
if(one.role_id == sec.parent_id){
return true;
}else{
newData.push(sec);
}
});
console.log(newData);
if(childrens.length > 0){
_.each(childrens,function(chel){
newTree(data,chel);
});
one.children = childrens;
}
});
}
console.log(data);
newTree(data,data);
console.log(data);