数组扁平化方法

devtools/2024/11/18 2:51:13/

参考文章

法1:朴质的递归实现

遍历数组的每一项,如果每一项依然是数组,就继续调用递归方法;如果是基本数据类型,就添加到结果数组里面

  const a = [1, [2, [3, [4, 5]]]];const flatten = (arr) => {let result = [];for (let i = 0; i < arr.length; i++) {if (Array.isArray(arr[i])) {result = result.concat(flatten(arr[i]));} else {result.push(arr[i]);}}return result;};console.log(flatten(a));

法2:reduce

  const flatten = (arr) => {return arr.reduce((prev,next)=>{return prev.concat(Array.isArray(next)?flatten(next):next)},[]);};console.log(flatten(a));

法3:扩展运算符

  const flatten = (arr) => {while(arr.some(item=>Array.isArray(item))){arr = [].concat(...arr);}return arr;};console.log(flatten(a));

法4:arr.toString.split(‘,’)

  • 由于数组会默认带一个 toString的方法,所以可以把数组直接转换成逗号分隔的字符串
  • 然后再用 split方法把字符串重新转换为数组,如下面的代码所示。
  const flatten = (arr) => {return arr.toString().split(',')};console.log(flatten(a));

法5:flat


http://www.ppmy.cn/devtools/104913.html

相关文章

github私有仓库通过action部署hexo到公开仓库

github私有仓库通过action部署hexo到公开仓库 有一段时间一直将博客md文件直接放到公开仓库然后通过工作流action创建一个gh-page分支&#xff0c;来实现部署 但是这样做有一个问题&#xff0c;如果你的源文件&#xff0c;或者配置文件中有涉及变量&#xff0c;或者密钥key&a…

【Python报错已解决】“ModuleNotFoundError: No module named ‘mne‘”

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 引言&#xff1a;一、问题描述1.1 报错示例&#xff1a;当我们尝试导入MNE-Python库时&#xff0c;可能会看到以下错误…

国密起步3:GmSSL3使用SM3(哈希)

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码在othertest目录。 目录 …

Vue.js 样式绑定

Vue.js 样式绑定 Vue.js 是一种流行的前端框架&#xff0c;它提供了一种简洁而强大的方式来绑定样式到元素上。样式绑定允许开发者根据组件的状态动态地改变元素的样式。在 Vue 中&#xff0c;样式绑定可以通过多种方式实现&#xff0c;包括类绑定、内联样式绑定和计算属性样式…

C# 编译程序引用C++DLL托管动态链接库实例

构建 C# 程序引用CDLL托管动态链接库 前言1、统一框架版本2、统一编译平台3、C 托管动态链接库的优点3.1、C 托管动态链接库引用方便简单3.2、C 托管动态链接库加快了程序构建和重复利用3.3、C 托管动态链接库源代码更加安全 4、构建与 C# 程序进行互操作的C.DLL动态链接库的三…

SAM 2: The next generation of Meta Segment Anything Model for videos and images

https://ai.meta.com/blog/segment-anything-2/ https://github.com/facebookresearch/segment-anything-2 https://zhuanlan.zhihu.com/p/712068482

比特币牛市将至背后

作者&#xff1a;Arthur Hayes 编译&#xff1a;Liam 「此处所表达的任何观点均为作者个人意见&#xff0c;不应作为投资决策依据&#xff0c;也不应被视为参与投资交易的推荐或建议。」 我打破常规&#xff0c;前往南半球滑雪两周&#xff0c;为北半球的暑假画上圆满的句号。我…

贵金属与能源市场波动加剧:美联储降息预期成焦点

银价回落&#xff0c;市场静待通胀数据指引 周三&#xff0c;银价在欧盘时段显著回落&#xff0c;主要受到美元指数收复部分失地的影响。尽管银价近期触及两个月高点30.19美元&#xff0c;但围绕美联储政策不确定性和需求疲弱的担忧限制了其上涨动力。市场正密切关注周五即将公…