ES10 新增了 Array.flat 和 Array.flatMap 方法

阅读时长 2 分钟读完

介绍

在 ECMAScript 2019(ES10)中,新增了两个数组扁平化方法,分别是 Array.flatArray.flatMap。两个方法都是数组的实例方法,并且都是可选的。

Array.flat

Array.flat 方法用于将嵌套的数组扁平化至指定的深度。该方法接收一个可选参数depth,用于指定扁平化的深度,默认值为1。

语法

参数

  • depth(可选):指定扁平化的深度。默认值为1。

返回值

扁平化后的新数组。

示例

Array.flatMap

Array.flatMap 方法用于通过先映射每个元素,再将结果扁平化至指定深度的新数组。该方法的回调函数接受3个参数,它们分别是当前元素、当前索引和原数组。

语法

参数

  • callback:回调函数,接受3个参数,分别为当前元素、当前索引和原数组。
  • thisArg(可选):回调函数中 this 的值。

返回值

扁平化后的新数组。

示例

指导意义

  • 性能优化:在开发过程中,我们常常需要对一个二维数组进行处理,此时可以使用 Array.flat 将其扁平化,以减少数组的嵌套层数,提高性能。
  • 代码简化:Array.flatMap 可以帮助我们简化代码,避免使用 mapflat 两个方法嵌套使用的复杂度。

总结

ES10 中新增的 Array.flatArray.flatMap 方法为处理数组提供了更多灵活性和效率,可以帮助我们更好地处理数组数据。当我们需要处理嵌套数组或者将一维数组展开成多维数组时,可以优先选择使用这两个方法。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/648eaf3f48841e9894d11e22

纠错
反馈