扁平化多维数组,分别用es6和es10方法处理

Posted on   猫头唔食鱼  阅读(410)  评论(0编辑  收藏  举报

把多维数组转化为一维数组

es6写法

const deepFlatten = arr => [].concat(...arr.map(v => Array.isArray(v) ? deepFlatten(v) : v));
        console.log(deepFlatten([1, [2], [[3], 4], 5,[6,[7,8],[[9,10],11,12],13,[14]]])); // [1,2,3,4,5,6,7,8,9,10,11,12,13,14]
        console.log(deepFlatten([[1,2,3],[2,4,6]]))  // [1,2,3,4,5,6]

es10语法:flat(n)

 // 用es10的flat 方法
       console.log( [1, [2], [[3], 4], 5,[6,[7,8],[[9,10],11,12],13,[14]]].flat(4));  // [1,2,3,4,5,6,7,8,9,10,11,12,13,14]
       console.log(  [[1,2,3],[2,4,6]].flat(4)); // [1,2,3,4,5,6]

 

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
历史上的今天:
2019-10-01 elementUI内置过渡(折叠)
点击右上角即可分享
微信分享提示