/*Conversion function*/ function(data, attributes) { let resData = data; let tree = []; for(let i = 0; i < resData.length; i++) { if(resData[i][attributes.parentId] === attributes.rootId) { let obj = { id: resData[i][attributes.id], title: resData[i][attributes.name], children: [] }; tree.push(obj); resData.splice (i, 1); i--; } } run(tree); function run(chiArr) { if(resData.length !== 0) { for(let i = 0; i < chiArr.length; i++) { for(let j = 0; j < resData.length; j++) { if(chiArr[i].id == resData[j][attributes.parentId]) { let obj = { id: resData[j][attributes.id], title: resData[j][attributes.name], children: [] }; chiArr[i].children.push(obj); resData.splice (j, 1); j--; } } run(chiArr[i].children); } } } return tree; }
var data=[{id:1,parentId:0,name:"Test 1"},
{id:2,parentId:1,name:"Test 2"}]
let attributes = { //Define the data attribute name id: 'id', parentId: 'parentId', name: 'groupName',
rootId: 0 }
/* call */
formatTreeData(data, attributes);