JS 树状数据去除空children

  1. 除空children方法
export function removeEmptyChildren (node) {
  node.forEach(item => {
    if ('children' in item && item.children.length === 0) {
      delete item.children
    } else if ('children' in item && item.children.length) {
      removeEmptyChildren(item.children)
    }
  })
  return node
}
  1. 数据
let treeData = [
    {
        id: '1',
        name: 'AAA',
        children: [
            {
                id: '1.1',
                name: 'BBB',
                children: [
                    {
                        id: '1.1.1',
                        name: 'CCC',
                        children: []
                    },
                    {
                        id: '1.1.2',
                        name: 'DDD',
                        children: []
                    },
                ]
            },
            {
                id: '1.2',
                name: 'EEE',
                children: []
            },
        ]
    },
    {
        id: '2',
        name: 'FFF',
        children: [
            {
                id: '2.1',
                name: 'GGG',
                children: [
                    {
                        id: '2.1.1',
                        name: 'HHH',
                        children: []
                    },
                    {
                        id: '2.1.2',
                        name: 'III',
                        children: []
                    },
                ]
            },
            {
                id: '2.2',
                name: 'JJJ',
                children: []
            },
            {
                id: '2.3',
                name: 'KKK',
                children: []
            },
            {
                id: '2.4',
                name: 'LLL',
                children: []
            },
        ]
    }
]
  1. 打印结果
[
    {
        "id": "1",
        "name": "AAA",
        "children": [
            {
                "id": "1.1",
                "name": "BBB",
                "children": [
                    {
                        "id": "1.1.1",
                        "name": "CCC"
                    },
                    {
                        "id": "1.1.2",
                        "name": "DDD"
                    }
                ]
            },
            {
                "id": "1.2",
                "name": "EEE"
            }
        ]
    },
    {
        "id": "2",
        "name": "FFF",
        "children": [
            {
                "id": "2.1",
                "name": "GGG",
                "children": [
                    {
                        "id": "2.1.1",
                        "name": "HHH"
                    },
                    {
                        "id": "2.1.2",
                        "name": "III"
                    }
                ]
            },
            {
                "id": "2.2",
                "name": "JJJ"
            },
            {
                "id": "2.3",
                "name": "KKK"
            },
            {
                "id": "2.4",
                "name": "LLL"
            }
        ]
    }
]