javascript - js中如何通過id查詢或者刪除樹形結(jié)構(gòu)某一個(gè)節(jié)點(diǎn)啊
問題描述
ant design就是要這種數(shù)據(jù)結(jié)構(gòu), 才可以形成各類tree控件, 這點(diǎn)真不如ztree之類的, 人家只需要1個(gè)數(shù)組就行了, 指定好id和parentId就自動(dòng)出tree, antd還得弄個(gè)children, 沒感覺哪好
比如樹形結(jié)構(gòu)是這樣的
[ {id: ’1’,name: ’a’,pid: ’0’,children: [ {id: ’11’,name: ’a-1’,pid: ’1’,children: [ id: ’111’, name: ’a-1-1’, pid: ’11’, children: null] }] }, {id: ’2’,name: ’b’,pid: ’0’,children: null, }]
那么如果能快速找到id: ’111’這個(gè)節(jié)點(diǎn)呢, 只能用遞歸查詢嗎, 有沒有更好的方法對(duì)他進(jìn)行以下操作: 添加子節(jié)點(diǎn): 即在他children中添加刪除該節(jié)點(diǎn): 即刪除id: ’111’這個(gè)節(jié)點(diǎn)更新節(jié)點(diǎn)
問題解答
回答1:加個(gè)轉(zhuǎn)換層,重構(gòu)的數(shù)據(jù)用id作為索引
相關(guān)文章:
1. dockerfile - 為什么docker容器啟動(dòng)不了?2. javascript - webapp業(yè)務(wù)流程基本一致,多套主題(樣式基本不一樣,交互稍有偏差)管理,并且有不斷有新增主題,該如何設(shè)計(jì)組件化架構(gòu)?3. javascript - ejs支持if else語(yǔ)法嗎4. 請(qǐng)教各位大佬,瀏覽器點(diǎn) 提交實(shí)例為什么沒有反應(yīng)5. macos - mac下docker如何設(shè)置代理6. javascript - 用rem寫的頁(yè)面,安卓手機(jī)顯示文字是正常的,蘋果顯示的文字是特別小的是為什么呢7. javascript - 移動(dòng)端,當(dāng)出現(xiàn)遮罩層的時(shí)候,遮罩層里有div是超出高度scroll的,怎么避免滑動(dòng)div的時(shí)候,body跟隨滑動(dòng)?8. javascript - JS設(shè)置Video視頻對(duì)象的currentTime時(shí)出現(xiàn)了問題,IE,Edge,火狐,都可以設(shè)置,反而chrom卻...9. 新手 - Python 爬蟲 問題 求助10. javascript - 學(xué)習(xí)網(wǎng)頁(yè)開發(fā),關(guān)于head區(qū)域一段腳本的疑惑
