- 除空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
}
- 数据
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: []
},
]
}
]
- 打印结果
[
{
"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"
}
]
}
]