介绍
在 ECMAScript 2019(ES10)中,新增了两个数组扁平化方法,分别是 Array.flat
和 Array.flatMap
。两个方法都是数组的实例方法,并且都是可选的。
Array.flat
Array.flat
方法用于将嵌套的数组扁平化至指定的深度。该方法接收一个可选参数depth
,用于指定扁平化的深度,默认值为1。
语法
-----------------
参数
depth
(可选):指定扁平化的深度。默认值为1。
返回值
扁平化后的新数组。
示例
----- --- - --- -- --- -- --- ----- ----- ------- - ------------ -- -------------
Array.flatMap
Array.flatMap
方法用于通过先映射每个元素,再将结果扁平化至指定深度的新数组。该方法的回调函数接受3个参数,它们分别是当前元素、当前索引和原数组。
语法
---------------------- ---------
参数
callback
:回调函数,接受3个参数,分别为当前元素、当前索引和原数组。thisArg
(可选):回调函数中 this 的值。
返回值
扁平化后的新数组。
示例
----- --- - --- -- --- ----- ------- - ------------- -- --- - - ---- -- --- -- -- -- -- --
指导意义
- 性能优化:在开发过程中,我们常常需要对一个二维数组进行处理,此时可以使用
Array.flat
将其扁平化,以减少数组的嵌套层数,提高性能。 - 代码简化:
Array.flatMap
可以帮助我们简化代码,避免使用map
和flat
两个方法嵌套使用的复杂度。
总结
ES10 中新增的 Array.flat
和 Array.flatMap
方法为处理数组提供了更多灵活性和效率,可以帮助我们更好地处理数组数据。当我们需要处理嵌套数组或者将一维数组展开成多维数组时,可以优先选择使用这两个方法。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/648eaf3f48841e9894d11e22