关于flatten

export function flattenDate(data: any[]) {
return Array.from(
new Set([
...data.reduce(function (a, b) {
return a.concat(b);
}, []),
...data.reduce(function (a, b) {
return b.children ? a.concat(b.children) : a;
}, []),
])
);
}

关于平铺类似[
{
name:'a1',
children:[{name:'a3'}]
},
{name:'a2'}
]
数组的方法记录一下

输出结果:
[
{name:'a1'},
{name:'a2'},
{name:'a3'},
]

主要运用了ES6的内容,理解一下from、reduce、concat、set

缺点:目前只能展开两层对象,当b.children中还有children的时候,不能正确展开,后续考虑继续强化一下。
思路参考jquery的extend方法或者loadsh源码

posted @ 2021-06-10 23:50  狗子你终于回来了  阅读(47)  评论(0)    收藏  举报