1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| let data = [ { id: 0, parentId: null, name: '生物' }, { id: 1, parentId: 0, name: '动物' }, { id: 2, parentId: 0, name: '植物' }, { id: 3, parentId: 0, name: '微生物' }, { id: 4, parentId: 1, name: '哺乳动物' }, { id: 5, parentId: 1, name: '卵生动物' }, { id: 6, parentId: 2, name: '种子植物' }, { id: 7, parentId: 2, name: '蕨类植物' }, { id: 8, parentId: 4, name: '大象' }, { id: 9, parentId: 4, name: '海豚' }, { id: 10, parentId: 4, name: '猩猩' }, { id: 11, parentId: 5, name: '蟒蛇' }, { id: 12, parentId: 5, name: '麻雀' }, ]
const toTree = (arr, pid = null) => { return arr.filter((item) => { if (item.parentId === pid) item.children = toTree(arr, item.id) return item.parentId === pid }) }
toTree(data)
|