多维数组对象,使用reduce转换成一维数组
数据结构:
let arr = [
{
name: '1', id:'1',
children:[
{ name:'1-1', id:'1-1'},
{ name:'1-2', id:'1-2' ,
children:[ { name:'1-2-1', id:'1-2-1' }]
}]
}]
实现代码:
function flatten (arr){
return arr.reduce((result, item)=> {
return result.concat(item,(Array.isArray(item.children) ? flatten(item.children) : []));
}, []);
}
flatten(arr)
结果: