第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

樹形結(jié)構(gòu)數(shù)據(jù)如何刪除空的子級節(jié)點?

樹形結(jié)構(gòu)數(shù)據(jù)如何刪除空的子級節(jié)點?

ITMISS 2018-12-10 13:27:19
我有這樣一組數(shù)據(jù),想要遞歸刪除掉所有 children 為空的節(jié)點,對于這組數(shù)據(jù)來說,最后刪除完后,會得到空數(shù)據(jù)。但是我設(shè)計的方法好像行不通,請大家?guī)兔o我個思路,或者說幫忙指出我這段程序中有什么錯誤的地方,不勝感激:數(shù)據(jù)data = [     {id: 1, label: '1-1', children:          [             {id: 2, label: '1-2', children: []},             {id: 3, label: '1-3', children: []},         ]     },     {id: 4, label: '2-1', children: []}, ];嘗試的方法function getSelectedNode(nodeData, parent) {   nodeData.forEach(item => {    if ('children' in item && item.children.length === 0) {      // 使用了lodash的刪除方法       lodash.remove(parent.children, o => {        return o.id === item.id       })     } else if ('children' in item && item.children.length) {       getSelectedNode(item.children, item);     }   }) } getSelectedNode(data, data);
查看完整描述

1 回答

?
瀟瀟雨雨

TA貢獻(xiàn)1833條經(jīng)驗 獲得超4個贊

既然已經(jīng)遍歷到了,為什么不直接刪掉呢?

function getSelectedNode(nodeData, parent) {
  nodeData.forEach(item => {    if ('children' in item && item.children.length === 0) {      delete item.children
    } else if ('children' in item && item.children.length) {
      getSelectedNode(item.children, item);
    }
  })
}
getSelectedNode(data, data);


查看完整回答
反對 回復(fù) 2018-12-10
  • 1 回答
  • 0 關(guān)注
  • 634 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號