1. 程式人生 > 實用技巧 >遍歷樹結構,當節點的children為空時,刪除children

遍歷樹結構,當節點的children為空時,刪除children

需求

如果children為空陣列,則刪除children

資料結構

let arr2=[{
          label: '一級 1',
          children: [{
            label: '二級 1-1',
            children: []
          }]
        }, {
          label: '一級 2',
          children: [{
            label: '二級 2-1',
            children: [{
              label: 
'三級 2-1-1' }] }, { label: '二級 2-2', children: [{ label: '三級 2-2-1' }] }] }, { label: '一級 3', children: [] }]

函式

 // children為[],則刪除children鍵
  function deleteChildren(arr) {
      let childs 
= arr for (let i = childs.length; i--; i > 0) { if (childs[i].children) { if (childs[i].children.length) { this.deleteChildren(childs[i].children) } else { delete childs[i].children } } } return arr }

呼叫

let arrNew = deleteChildren(arr2)
console.log(arrNew)



轉載自::https://www.jianshu.com/p/555a176bd8ee