1. 程式人生 > >tree結構 刪除其中一條tree(集合)

tree結構 刪除其中一條tree(集合)

子集 包括 const children 需求 數據 執行方法 多條 通過

需求:通過點擊獲取需要刪除的id(即獲取到整條信息),如果該條數據沒有子集,通過id刪除即可,如果有子集,則該數據下所有的子集都需要刪

 1 const id =‘123‘;  //刪除節點的id(點擊獲取到的id);
 2 const localTree = [...];   //獲取到需要被刪除的樹(不包括id對應的節點,可以稱之為被刪除的根節點)
 3 let ids = [];  //多條刪除id集合
 4 ids.push(id);
 5 if (localTree) {
 6    const newTeams = function (data, parentId) {
 7          for (let i = 0; i < data.length; i++) {
 8              const node = data[i];
 9              ids.push(node.id);    //每循環一次就將獲取到的id添加到id集合中
10 const children = node.children; 11 if (children.length) { 12 newTeams(children, children[0].id); 13 } 14 } 15 } 16 newTeams(localTree, id); //執行方法 17 } 18 19 //註:此方法主要的獲取需要被刪除的id集合 20 //for of 循環刪除 ,這裏是saga進行刪除,刪除多條時,需要for of 循環刪除
21 for (let i of ids) { 22 yield axios.delete(‘/api/AssetClasses/‘ + i); 23};

tree結構 刪除其中一條tree(集合)