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. 如何解決Centos下Docker服務(wù)啟動(dòng)無響應(yīng),且輸入docker命令無響應(yīng)?2. 我在centos容器里安裝docker,也就是在容器里安裝容器,報(bào)錯(cuò)了?3. objective-c - IOS 分享到微信 提示 應(yīng)用消息數(shù)據(jù)錯(cuò)誤4. android - 使用百度sdk調(diào)用SDKInitializer.initialize(this)時(shí)報(bào)錯(cuò)?5. javascript - 微信h5發(fā)送圖文信息,部分設(shè)備點(diǎn)擊“發(fā)送”按鈕時(shí)沒反應(yīng),問題較難重現(xiàn),如何能找到可能存在問題的點(diǎn)?6. javascript - 音樂播放器-圖片旋轉(zhuǎn)7. android - 為 AppBarLayout 設(shè)置的背景圖片 TransitionDrawable 為什么只在第一次打開的時(shí)候有效?8. javascript - js中遞歸與for循環(huán)同時(shí)發(fā)生的時(shí)候,代碼的執(zhí)行順序是怎樣的?9. MySQL timestamp的默認(rèn)值怎么設(shè)置?10. docker 17.03 怎么配置 registry mirror ?

網(wǎng)公網(wǎng)安備