数组的展平,主要是指的是数组嵌套数组转为一维数组,总结了一下几种方法

  1. es6原生的方法 链接: es6中的flat
let arr = [1, 2, [3, 4]].flat()
console.log(arr) //[ 1, 2, 3, 4 ]
//flat默认只展平一层
console.log([1, 2, [3, 4,[5,6]]].flat())
//[ 1, 2, 3, 4, [ 5, 6 ] ]
//展平多层需要传递参数Infinity
console.log([1, 2, [3, 4,[5,6]]].flat())
//[ 1, 2, 3, 4, 5, 6 ]
  1. js原生的方法
//[ 1, 2, 3, 4, 5, 6 ]
console.log(arr.toString().split(',').map(item => +item))
//可以展平任意层级的array
  1. 递归
let result = []
let arr = [1, 2, [3, 4,[5,6]]]
function flatFn(arr){arr.forEach(item => {if(Array.isArray(item)){flatFn(item)}else{result.push(item)}})return result
}
console.log(flatFn(arr)) //[ 1, 2, 3, 4, 5, 6 ]

js算法数组flat展平的几种方法相关推荐

  1. php 从数组里删除元素,PHP从数组中删除元素的四种方法实例

    PHP从数组中删除元素的四种方法实例 一.总结 一句话总结:unset(),array_splice(),array_diff(),array_diff_key() 二.PHP从数组中删除元素的四种方 ...

  2. js判断数组里是否有重复元素的方法

    转: js判断数组里是否有重复元素的方法 https://blog.csdn.net/longzhoufeng/article/details/78840974 第一种方法:但是下面的这种方法数字字符 ...

  3. JS数组移除元素的八种方法

    JS数组移除元素的八种方法 一.修改arr的length方法 let arr = [1,2,3,4,5,6,7,8,9]; arr.length = 3; console.log('length',a ...

  4. (js)删除数组中某个元素的几种方式

    (js)删除数组中某个元素的几种方式 filter 删除删除数组中某个指定元素 //过滤出item.srcConcept != this.vertex的对象 this.edit.conceptData ...

  5. python去重复排序_Python实现删除排序数组中重复项的两种方法示例

    本文实例讲述了Python实现删除排序数组中重复项的两种方法.分享给大家供大家参考,具体如下: 对于给定的有序数组nums,移除数组中存在的重复数字,确保每个数字只出现一次并返回新数组的长度 注意:不 ...

  6. php数组如何写入txt文件中_php将数组写入到文件的三种方法

    php的数组十分强大,有些数据不存入数据库直接写到文件上,用的时候直接从文件中读取,本文章向大家介绍php将数组写入到文件的三种方法. 第一:serialize方法 使用 serialize 将数组序 ...

  7. PHP获取数组最后一个值的2种方法

    这篇文章主要介绍了PHP获取数组最后一个值的2种方法,本文直接给出实现代码,代码中包含注释,需要的朋友可以参考下 代码如下: $array=array(1,2,3,4,5);     echo $ar ...

  8. JS实现星星评分功能实例代码(两种方法)

    转载自   JS实现星星评分功能实例代码(两种方法) 一.方法1 1.用到图片 2.结构和样式 <!DOCTYPE html> <html lang="en"&g ...

  9. php+数组存放文件名_php将数组存储为文本文件的三种方法

    本篇文章主要介绍php将数组存储为文本文件的三种方法,感兴趣的朋友参考下,希望对大家有所帮助. (1)利用serialize 将数组序列化存储为文本文件,调用时候再使用unserialize 还原&l ...

最新文章

  1. 移植uboot第二步:分析uboot
  2. 周五话分析 | 方法论难落地?来个量身定制版本吧(AARRR模型)
  3. unity 中的UGUI 屏蔽鼠标穿透
  4. Bootstrap系列 -- 41. 带表单的导航条
  5. 面试中Handler这些必备知识点你都知道吗?面试真题解析
  6. 机器学习kaggle竞赛实战-泰坦尼克号
  7. 解决:Failed to execute goal on project aopcore: Could not resolve dependencies for project com.cmos:
  8. 类的定义、成员定义修饰符
  9. java,url长链接生成短链接,短链接生成器,自定义字符串,对字符串md5混合KEY加密,根据短链接获得key值,不重复的随机数,不重复的随机字符串...
  10. 内网渗透中SSh的巧用
  11. deepsort代码解读
  12. 贪吃的大嘴用java_算法提高 贪吃的大嘴
  13. [转载] python面向对象编程实例
  14. 大腾讯的第一个开源项目「Tinker」
  15. 第一次使用vim遇到的问题及常用方法
  16. 训练faster rcnn报错:KeyError:‘max_overlaps’
  17. ctf:kali2:端口扫描:nmap和portscan
  18. Css3中-moz、-ms、-webkit的使用
  19. 10-3 德扑,股票演绎法,练习量是个要命的问题
  20. 四足机器人单腿逆运动学解-几何方法

热门文章

  1. java实验2总结心得,打字小游戏JAVA实验总结及心得体会
  2. 蚂蚁金服面试题和答案
  3. CentOS6.5安装readline时报错:/usr/bin/ld : cannot find -lncurses
  4. API服务平台,实现多个API的编排与聚合
  5. [4G5G专题-97]:MAC层- 调度 - 上行调度的原理、过程与算法
  6. 最酷网学习,如何做一个轮播
  7. 验证码_python
  8. python获取cpu温度_如何获得树莓派CPU实时温度值
  9. “科林明伦杯”哈尔滨理工大学第十届程序设计竞赛(同步赛) E
  10. 跑动大数据的笔记本配置_大数据专业用什么样的笔记本合适?