function flatten(arr){// 多维menu数组 变成一维数组
return [].concat(...arr.map(item =>{
return item.children //判断是否有子项,否则递归flatten报错
? [].concat(item, ...flatten(item.children))
: [].concat(item)
}
))
}
let testArr = [
{
code: 1,
name: '张三'
children: [{
code: 11,
name: '张四'
children: []
},
{
code: 12,
name: '张五'
children: []
}]
},
{
code: 1,
name: '李四'
children: [{
code: 11,
name: '李五'
}]
},
]
flatten(testArr)
// 得到5个对象的一维数组