const arr = [
{
id: 1,
title: "课程 1",
children: [
{ id: 4, title: "课程 1-1" },
{
id: 5,
title: "课程 1-2",
children: [
{ id: 6, title: "课程 1-2-1" },
{ id: 7, title: "课程 1-2-2" },
],
},
],
},
{ id: 2, title: "课程 2" },
{ id: 3, title: "课程 3" },
];
function flaten(arr) {
return arr.reduce((p, v, i) => {
for (let i = 0; i < p.length; i++) {
if (p[i].children) {
delete p[i].children
}
}
return p.concat(v.children ? flaten(v.children).concat(v) : v);
}, [])
}
console.log(flaten(arr))
// reduce 功能很强大呦;
数组对象扁平化
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。 ...
- 数组扁平化 数组扁平化:使用递归实现 将每一项遍历,如果某一项为数组,则让该项继续调用,这里指定了depth作为扁...
- 1.数组扁平化初探 ES6中数组的扩展引入了flat和flatMap:数组的flat方法: 数组的flatMap方...