当前位置: 首页 > article >正文

多位数组转化为一维数组

三种实现方式:

方式一:使用generator实现
function* flat(data) {
  for (let i = 0; i < data.length; i++) {
         if (Array.isArray(data[i])) {
             yield* flat(data[i])
         } else {
             yield data[i]
         }
    }
}
let data = []
for (let item of flat(a)) {
    data.push(item)
}
方式二: 使用原生的方式
let data = []
function fn (a) {
    for (let i = 0; i < a.length; i++) {
        if (Array.isArray(a[i])) {
            fn(a[i])
        } else {
            data.push(a[i])
        }
    }
}
fn(a)
方式三: 借助于数组的flat方法
data = a.flat(Infinity)
console.log(data)

http://www.kler.cn/news/135318.html

相关文章:

  • Kotlin 核心语法,为什么选择Kotlin ?
  • Centos(Linux)服务器安装Dotnet8 及 常见问题解决
  • 世微 电动车摩托车灯 5-80V 1.2A 一切二降压恒流驱动器AP2915
  • 深入了解百度爬虫工作原理
  • rook-ceph部署
  • GitHub 2023报告-开源和AI的现状
  • 172版本关闭背钻后自动添加反盘和禁布的功能
  • 读取Json BugFix
  • DevExpress中文教程 - 如何在macOS和Linux (CTP)上创建、修改报表(上)
  • 一周互联网简讯 | 本周互联网发生了啥?(第3期)
  • KeyarchOS的CentOS迁移实践:使用操作系统迁移工具X2Keyarch V2.0
  • 驾驶证科一视频(整理)
  • Linux awk命令
  • 矩阵运算_矩阵的协方差矩阵/两个矩阵的协方差矩阵_求解详细步骤示例
  • docker-compose部署mysql5.7主从
  • 广州一母婴店因设置0元购导致关店
  • SpringBoot中日志的使用log4j2
  • iOS学习 --- Xcode 15 下载iOS_17.0.1_Simulator失败解决方法
  • Eclipse切换中文环境
  • 什么是单域名SSL安全证书?
  • 刷题笔记day27-回溯算法1
  • Linux CentOS 8(MariaDB的数据类型)
  • GEE21:基于MODIS数据获取逐年GPP、EVI和FVC数据
  • 数据结构——栈与队列
  • 将Agent技术的灵活性引入RPA,清华等发布自动化智能体ProAgent
  • 【Qt开发流程之】布局管理
  • Linux安装RabbitMQ详细教程
  • mysql使用--子查询
  • 使用量子玻尔兹曼机推进机器学习:新范式
  • 自然语言处理:Transformer和GPT