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)呢, 只能用遞歸查詢嗎, 有沒有更好的方法對他進(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. javascript - 在靜態(tài)頁面上用load 引入的頁面文件問題?2. 代理 - 一個(gè)nginx需求,訪問web服務(wù)時(shí),若用戶為測試用戶則轉(zhuǎn)發(fā)到web服務(wù)的測試版本3. javascript - webpack打包后的bundlejs文件代碼不知道什么意思.4. java后臺(tái)導(dǎo)出頁面到pdf5. java - instance method中 static后的<K>是什么意思?6. css3 - css如何實(shí)現(xiàn)素描描邊效果7. css - 關(guān)于ul的布局8. css - 如何使用 vue transition 實(shí)現(xiàn) ios 按鈕一樣的平滑切換效果9. javascript - vue組件通過eventBus通信時(shí),報(bào)錯(cuò)a.$on is not a function10. html - 哪些情況下float會(huì)失效?
