数组扁平化的三种方式

方法一:ES6 的 flat 方法

flat() 方法将以指定的深度递归遍历数组,并将所有元素与遍历的子数组中的元素合并到一个新数组中以返回。      

const arr = [1,[2,[3,[4,5]]],6]
//  方法一:数组自带的扁平化方法,flat的参数代表的是需要展开几层,如果是Infinity的话,就是不管嵌套几层,全部都展开
console.log(arr.flat(Infinity))

  方法二:使用正则

const arr = [1,[2,[3,[4,5]]],6]
const res = JSON.stringify(arr).replace(/\[|\]/g,'')
const res2 = JSON.parse('[' + res + ']')
console.log(res2)

方法三:使用递归

const array = []
const  fn = (arr)=>{for(let i = 0;i<arr.length; i++){if(Array.isArray(arr[i])){fn(arr[i])}else {array.push(arr[i])}}
}
fn(arr)
console.log(array)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/822789.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OceanBase 4.3 列存存储格式和列存索引存储格式

以 t1 表和索引为例子&#xff0c;下面两张图说明了存储层如何存储数据。 create table t1 (id1 int, id2 int, name varchar(10), salary int, primary key(id1, id2)) with column group (each column);create index idx (name) storing(salary) with column group(each co…

基于GIS、python机器学习技术的地质灾害风险评价与信息化建库应用

结合项目实践案例和科研论文成果进行讲解。入门篇&#xff0c;ArcGIS软件的快速入门与GIS数据源的获取与理解&#xff1b;方法篇&#xff0c;致灾因子提取方法、灾害危险性因子分析指标体系的建立方法和灾害危险性评价模型构建方法&#xff1b;拓展篇&#xff0c;GIS在灾害重建…

vue elmentui 可编辑table 实现

废话不多说上图&#xff1a; 1.可编辑input 2.可编辑下来框 3.点击chechbox 4.可编辑radio 其实后面两种可以直接显示值 需要修改直接改就行 保持风格统一所以就做了点击之后出现修改功能 上代码&#xff0c;不要哔哔 哈哈 粗暴 真得是曲不离口 拳不离手&#xff0c; 几天…

【力扣】45. 跳跃游戏 II

Problem: 45. 跳跃游戏 II 文章目录 问题思路复杂度Code 问题 思路 核心思路&#xff0c;例如nums[i]5&#xff0c;那么最远能跳五步&#xff1b; //那么在这接下来1-5范围内&#xff0c;哪个能让我跳的最远&#xff0c;这个最远指的是 -------------------------------------…

代码随想录图论

1. 所有可能的路径 class Solution:def allPathsSourceTarget(self, graph: List[List[int]]) -> List[List[int]]:def dfs(graph, result, path, root): #result 返回结果, path记录路径, root记录遍历到了第几个节点if root len(graph) - 1: #如果遍历到最后…

前端-嵌套对象转FormData(支持文件/对象无限层级递归)

/*** 嵌套对象转FormData* @param formData* @param data* @param parentKey*/ const appendFormData = (formData: any, data: any, parentKey = ) => {for (const key in data) {if (Object.prototype.hasOwnProperty.call(data, key)) {const value = data[key];const fu…

如何让多人同时扫码看图?图片转二维码的制作方法

现在经常会发现需要通过扫描二维码的方式来获取图片信息&#xff0c;这种方式可以让很多人能够同时获取图片信息&#xff0c;有利于提升传播的效率和用户体验。那么如何使用图片二维码生成器来在线制作二维码呢&#xff1f;其实步骤很简单&#xff0c;只需要在电脑3步就可以轻松…

Solana 上创建自己的 SLPToken:简明指南

Solana 定义 Solana 是由 Solana Labs 创建的区块链平台&#xff0c;旨在提供高吞吐量和低延迟的去中心化应用&#xff08;DApps&#xff09;开发环境。它采用一系列创新技术&#xff0c;如 PoH&#xff08;Proof of History&#xff09;共识机制和 Tower BFT&#xff08;BFT …

大模型预测结果导入到Doccano,人工修正预测不准的数据

背景 使用大语言模型做实体识别的实验时&#xff0c;发现大模型关于实体的边界预测一直不准。 主要原因在于当时找了很多同学标注数据&#xff0c;由于不同组同学关于实体的边界没有统一&#xff0c;故导致数据集中实体边界也没统一。 &#xff08;找太多人标&#xff0c;会有…

数据结构常见面试问题答案总结

数据结构是计算机科学中的一个基础且重要的领域&#xff0c;面试中经常涉及数据结构的相关问题。以下是一些常见的数据结构面试问题及其答案总结&#xff1a; 数组和链表的区别是什么&#xff1f; 数组&#xff1a; 优点&#xff1a;访问速度快&#xff0c;因为可以通过索引直接…

HalconLen2-示例程序分析

dev_update_window(off) dev_open_window(0, 0, 512, 512, black, WindowHandle) //打开窗口 stop() //程序中断 *dev_close_window() //关闭窗口 read_image (Bond, die/die_03) //读取图片 dev_display(Bond) //显示图片 set_display_font(WindowHandle, 16, mono, true, fal…

#陶晶驰串口屏使用

1.陶晶驰串口屏输入要连接的wifi信息实现 &#xff08;1&#xff09;选择文本控件 &#xff08;2&#xff09;给文本控件配置输入键盘&#xff0c;id代表用户名&#xff0c;password代表wifi密码&#xff08;注意wifi的频段需要为2.4GHz&#xff09; &#xff08;3&#xff0…

【结构型模式】适配器模式

一、适配器模式概述 适配器模式的定义-意图&#xff1a;将一个类的接口转换成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作。(对象结构模式->对象适配器/类结构模式->类适配器) 适配器模式包含三个角色&#xff1a;目标(Target)角色、适配者(Adapt…

【运维】nginx配置解析

如果访问Nginx时出现502 Bad Gateway错误&#xff0c;则可能是Nginx主机上的SELinux限制了其使用http访问权限引起的&#xff0c;输入命令setsebool -P httpd_can_network_connect 1 开启权限即可。 nginx 基础配置 nginx 是一个功能非常强大的 web服务器加反向代理服务器&…

打破常规,重新定义PMP备考之路

今天我想和大家聊聊一个我们都不陌生的话题——PMP备考。你是不是也在备考的苦海中挣扎&#xff0c;或是听说过各种“速成”的神话&#xff1f;&#x1f914; 最近读到一篇文章&#xff08;来着圣略PMP培训讲师老杨&#xff09;&#xff0c;让我对PMP备考有了新的认识。原来&a…

常见的地图绘制方法,这个包全包了~~

在上一篇介绍完Bokeh精美可视化作品之后&#xff0c;有小伙伴咨询我能不能稍系统的介绍下如何在地图上添加如柱形图等其他元素的付方法&#xff1f; 这就让我想到一个优秀的地图绘制可视化包-R-cartography&#xff0c;虽然之前也有简单介绍过&#xff0c;本期就具体分享下该包…

Python QP 求解器

系列文章目录 前言 该 Python 库提供一站式 solve_qp 函数&#xff0c;用于求解凸二次规划&#xff1a; 向量不等式逐个坐标应用。函数返回后端 QP 求解器找到的初等解 &#xff0c;如果求解失败/问题不可行&#xff0c;则返回 None。所有求解器都要求问题是凸的&#xff0c;这…

CentOS 系统上使用 yum 安装 Nginx 及其模块

要在 CentOS 系统上使用 yum 安装 Nginx 及其 NJS (Nginx JavaScript Module)&#xff0c;首先需要确保你的系统已经包含了 Nginx 的官方仓库&#xff0c;因为 Nginx 的某些模块可能不在默认的软件仓库中。 以下是安装 Nginx 和 Nginx Module NJS 的基本步骤&#xff1a; 添加…

探讨选择成为一名程序员的原因,是出于兴趣还是职业发展。

选择成为一名程序员的原因可以是出于兴趣和职业发展两方面的考虑。以下是两个方面的探讨&#xff1a; 兴趣&#xff1a;许多人选择成为程序员是因为对计算机科学和编程的兴趣。他们喜欢解决问题、构建应用程序和创造新的数字体验。对于这些人来说&#xff0c;编程是一种有趣、令…

隐式/动态游标的创建与使用

目录 将 emp 数据表中部门 10 的员工工资增加 100 元&#xff0c;然后使用隐式游标的 %ROWCOUNT 属性输出涉及的员工数量 动态游标的定义 声明游标变量 打开游标变量 检索游标变量 关闭游标变量 定义动态游标&#xff0c;输出 emp 中部门 10 的所有员工的工号和姓名 Orac…