前端学习之JS将父子关系的数据转换成树结构数据
1.数据输入
| id | name |
parent_id |
| 1 | aa | |
| 2 | bb | |
| 3 | cc | 1 |
| 4 | dd | 1 |
| 5 | ee | 2 |
var data = [ {id: 1, name: 'aa'}, {id: 2, name:'bb'}, {id: 3, name: 'cc', parent_id: 1}, {id: 4, name: 'dd', parent_id: 1}, {id: 5, name: 'ee', parent_id: 2}, ]
2.数据输出
及将上面数据处理成如下格式
tree = [ { id: 1, name: 'aa', children: [ { id: 3, name: 'cc', parent_id: 1}, { id: 4, name: 'dd', parent_id: 1} ] }, { id: 2, name: 'bb', children: [ { id: 5, name: 'ee', parent_id: 2} ] } ]
3.处理代码
const tree = data.filter((father) => { const arr = data.filter((child) => { return father.id == child.parent_id }) if (arr.length > 0) { father.children = arr } return father.parent == null }) console.log(tree)
浙公网安备 33010602011771号