1. 程式人生 > 實用技巧 >樹節點遞迴

樹節點遞迴

資料結構
 data: [
          {
          label: '廣東',
          id:12,
          children: [{
            label: '廣州',
            id:121,
            children: [
              {label: '天河',id:1213},
               {label: '越秀',id:1215},
                {label: '南山',id:1216},
                 {label: '番禺',id:1217},
            ]
          },
          {
            label: '佛山',
            id:122,
            children: [
               {label: '南海',id:1223},
               {label: '禪城',id:1225},
                {label: '順德',id:1226},
                 {label: '獅山',id:1227},
             
            ]
          },
          {
            label: '深圳',
            id:123,
            children: [
              {label: '南山',id:1233},
               {label: '布吉',id:1235},
                {label: '羅湖',id:1236},
                 {label: '坪山',
                 id:1237,
                 children: [
              {label: '南山',id:12331},
               {label: '布吉',id:12352},
                {label: '羅湖',id:12363},
                 {label: '坪山',id:12374}]
                 },
            ]
          },
          ]
        },
         {
          label: '福建',
          id:22,
          children: [{
            label: '福州',
            id:221,
            children: [
              {label: '天河',id:2213},
               {label: '越秀',id:2215},
                {label: '南山',id:2216},
                 {label: '番禺',id:2217},
            ]
          },
          {
            label: '廈門',
            id:122,
            children: [
               {label: '南海',id:2223},
               {label: '禪城',id:2225},
                {label: '順德',id:2226},
                 {label: '獅山',id:2227},
             
            ]
          },
          {
            label: '泉州',
            id:123,
            children: [
              {label: '南山',id:2233},
               {label: '布吉',id:2235},
                {label: '羅湖',id:2236},
                 {label: '坪山',id:2237},
            ]
          },
          ]
        },

方法

init(list){
       list.forEach(item =>{
          item.show = false
          this.arr.push(item.id)
          if (item.children) {
           this.init(item.children)
         }
       })
     console.log(new Set(this.arr))
},
     diguiclick(){
    this.init(this.data)
     },