数组扁平化

简介: 没有指定层数的数组扁平化

没有指定层数的数组扁平化

 let arr = [1, [2, [1, 2, 3, [4, 5, 6]]], 18, [25, 12, [13, 14, 27]]]
        function flatten(arr) {
            let res = []
            for (let i = 0; i < arr.length; i++) {
                if (Array.isArray(arr[i])) {
                    res = res.concat(flatten(arr[i]))
                } else {
                    res.push(arr[i])
                }
            }
            return res
        }
        console.log(flatten(arr));

带有层数的数组扁平化

let arr = [1, [2, [1, 2, 3, [4, 5, 6]]], 18, [25, 12, [13, 14, 27]]]
        function flatten(arr, k) {
            if (k == 0) {
                return arr
            }
            let res = []
            for (let i = 0; i < arr.length; i++) {
                if (Array.isArray(arr[i])) {
                    res = res.concat(flatten(arr[i], k - 1))
                } else {
                    res.push(arr[i])
                }
            }
            return res
        }
        console.log(flatten(arr, 2));


相关文章
|
算法 C++
Dijkstra算法及其C++实现
如果从图中某一顶点(称为源点)到达另一顶点(称为终点)的路径可能不止一条,如何找到一条路径使得沿此路径上各边上的权值总和达到最小。
215 0
|
云安全 安全 小程序
无影-阿里云第一款云电脑,它拥有超越PC的完美体验
无影是一款面向数字经济时代的生产力工具,基于流式传输服务和容器化架构,可实现随时随地云上办公、海量算力触手可得、海量应用一网打尽,依托阿里云打造云管端一体化安全防护体系,全面保障企业业务和数据安全,拥有超越PC的便捷、流畅、安全、高效体验。
27338 0
无影-阿里云第一款云电脑,它拥有超越PC的完美体验
|
7月前
|
运维 监控 算法
监控局域网其他电脑:Go 语言迪杰斯特拉算法的高效应用
在信息化时代,监控局域网成为网络管理与安全防护的关键需求。本文探讨了迪杰斯特拉(Dijkstra)算法在监控局域网中的应用,通过计算最短路径优化数据传输和故障检测。文中提供了使用Go语言实现的代码例程,展示了如何高效地进行网络监控,确保局域网的稳定运行和数据安全。迪杰斯特拉算法能减少传输延迟和带宽消耗,及时发现并处理网络故障,适用于复杂网络环境下的管理和维护。
|
5月前
|
人工智能 前端开发 Java
AI大模型进阶系列(03) prompt 工程指南 | 实战核心技术有哪些?
本文深入讲解了AI大模型中的prompt工程。文章分析了role角色(system、user、assistant)的意义,message多轮会话记忆机制,以及prompt的核心三要素(上下文背景、输入内容、输出指示)。同时介绍了多种提示优化技术,如少样本提示、CoT链式思考、prompt chaining链式提示、思维树ToT提示等,还展示了让AI生成提示词的方法,为实际应用提供了全面指导。
|
Kubernetes Go 数据库
go-zero 分布式事务最佳实践
go-zero 分布式事务最佳实践
|
缓存 JavaScript 前端开发
Vue3升级版本引发的 npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree
Vue3升级版本,引发的 npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree
1365 0
Vue3升级版本引发的 npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree
|
自然语言处理 算法 Linux
全新Gensim4.0代码实战(01)-安装与快速上手
全新Gensim4.0代码实战(01)-安装与快速上手
470 0
全新Gensim4.0代码实战(01)-安装与快速上手
|
机器学习/深度学习 人工智能 监控
【AI 现况分析】AI 算法偏见和歧视分析
【1月更文挑战第27天】【AI 现况分析】AI 算法偏见和歧视分析
|
运维 监控 算法
如何提高光伏发电效能异常检出效率的实践案例
国家能源安全,及双碳战略大背景下,光伏产业发展迅猛,累计装机容量增长迅速。随着装机规模的逐步增大,同时伴随着国家上网电价的政策补贴消退,行业逐步走向精细化运营,来保障企业利润。而运营成本主要是设备的折旧和运维成本,其中运维成本构成比例中,人员成本约占比约50%,测试设备占比约15%。 在一个光伏电站大概25年的生命周期中,运维成本是随着使用年限而增长的。是否可以解决好运维效率,关系到企业效益。
|
SQL Java 关系型数据库
Mybatis处理List参数
Mybatis处理List参数
324 0