对于一个这样的一个数据:
const data = [{
id: 1,
name: '1',
children: [
{
id: 11,
name: '11',
children: [{
id: 111,
name: '111'
}, {
id: 112,
name: '112'
}]
}
]
}, {
id: 2,
name: '2',
children: [{
id: 21,
name: '21',
children: [{
id: 211,
name: '211',
children: [{
id: 2111,
name: '2111'
}, {
id: 2112,
name: '2112'
}]
}]
}]
}, {
id: 3,
name: '3'
}]
需要将上诉转换成:
方法:
const treeFlat = (data: any) => {
let result: any[] = []
if (Array.isArray(data) && data?.length) {
data.forEach(item => {
result.push({
id: item.id,
name: item.name
})
if (item?.children) result.push(...treeFlat(item.children))
})
}
return result
}
运行效果:
console.log("结果:",treeFlat(data))