// 这里需要两个概念 扩展运算符(...),对数组进行拆分操作 concat将拆分的数组进行合并
// 比如 console.log([0].concat(...[1,2]))
以下是自己写的一个小demo
let navigation = [
{
id:1,
subitems:[
{
id:2,
subitems:[
{
id:3,
subitems:[],
parent:2
},
{
id:4,
subitems:[],
parent:2
}
],
parent: 1
},
{
id:5,
subitems: [],
parent: 1
}
]
},
{
id: 6,
subitems: []
}
];
function flatten(array) {
return [].concat(...array.map(item => [].concat(item,...flatten(item.subitems))))
}
navigation = flatten(navigation)