搜索
写经验 领红包
 > 美食

实现数组扁平化的6种方式是什么(实现数组扁平化的6种方式有哪些)

导语:实现数组扁平化的6种方式

引言

数组扁平化在一些多维数组的应用场景中会出现,那么思考两个问题,怎样用最普通的方法解决数组扁平化的问题?ES6中是否有一些高级的方法能够直接实现?

扁平化的实现

数组的扁平化其实就是将一个嵌套多层的数组array(嵌套可以是任何层数)转换为只有一层的数组。

方法一:普通的递归实现

通过循环递归的方式,一项一项地去遍历,如果每一项还是一个数组,那么就继续往下遍历,利用递归程序的方法,来实现数组的每一项的连接。

方法二:利用reduce函数迭代

方法二的思路和方法一基本是一样的,但是简化了方法一的代码,使其看起来更加清爽。

方法三:扩展运算符实现

采用了扩展运算符和some的方法,两者共同使用,达到数组扁平化的目的。

方法四:split 和 toString 共同处理

方法五:调用 ES6 中的 flat

方法六:正则和 JSON 方法共同处理

总结

前三种实现数组扁平化的方式是最基本的思路,都是通过最普通递归思路衍生的方法,其中reduce方法提供的几个参数比较灵活,能解决很多问题。后两种方法是ES6中比较常用的。

本文内容由快快网络小茹整理编辑!