需求: 给定一个数组,将children数组降维添加到数组中,生成一个新的一维数组
const arr = [
{
id: 1,
name: 'zs',
age: 18
},
{
id: 2,
name: 'lisi',
age: 19,
children: [
{
id: 3,
name: 'wangwu',
age: 20
},
{
id: 4,
name: 'zhaoliu',
age: 21,
children: [
{
id: 5,
name: 'tianqi',
age: 22
}
]
}
]
},
{
id: 6,
name: 'wb',
age: 23
}
]
代码实现
const deepTree = (arr, tempArr) => {
const result = tempArr || []
arr.forEach(item => {
if (item.children) {
const { children, ...obj } = item
result.push(obj)
deepTree(children, result)
return
}
result.push(item)
})
return result
}
ts实现