js把json數據轉化成樹形數據
阿新 • • 發佈:2018-05-02
clas nbsp [] json數據 定義數據 RM child upn push
/*轉化函數*/ 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:"測試1"},
{id:2,parentId:1,name:"測試2"}]
let attributes = { //定義數據屬性名稱 id: ‘id‘, parentId: ‘parentId‘, name: ‘groupName‘,
rootId: 0 }
/*調用*/
formatTreeData(data,attributes);
js把json數據轉化成樹形數據