已知原有數(shù)據(jù) :
var data=[
{ id: 40, parentId: 31, note: "的薩達(dá)是" },
{ id: 20, parentId: 11, note: "的薩達(dá)是" },
{ id: 22, parentId: 20, note: "dsadas" },
{ id: 12, parentId: null, note: "dsadasad薩達(dá)s" },
{ id: 11, parentId: undefined, note: "dqwds" },
{ id: 24, parentId: 22, note: "搜索" },
{ id: 34, parentId: 22, note: "搜索" }
]
需要考慮的問題 :
不更改源數(shù)據(jù)
避免循環(huán)引用, 即 a的parentId為b, b的parentId為a
發(fā)揮你的大腦, 來個最優(yōu)解
4 回答

PIPIONE
TA貢獻(xiàn)1829條經(jīng)驗 獲得超9個贊
const toTree =
(arr, pID) =>
arr
.filter(({ parentId }) => parentId == pID)
.map(a => ({
...a,
childers: toTree(arr.filter(({ parentId }) => parentId != pID), a.id)
}))
添加回答
舉報
0/150
提交
取消