js递归,删除children为空数组的节点

  • 树形数据,最深层的children都是[ ],全删掉之后,外层的children也变成[ ]了,然后继续删除,直至所有children为[ ]的子节点都删除。
    // 删除没有设备的分组
    deleteNoLampGroup(treeData) {
      function traversal(data) {
        for (let info of data) {
          if (info.children) {
            if (info.children.length > 0) {
              traversal(info['children'])
            }
            if (info.children.length === 0) {
              const index = data.findIndex(item => info.id === item.id)
              data.splice(index, 1)
            }
          }
        }
      }
      traversal(treeData)
    },

你可能感兴趣的:(js递归,删除children为空数组的节点)