ES10 中使用 Array.prototype.flat() 和 Array.prototype.flatMap() 链式调用方法

在 ES10 中,JavaScript 引入了两个新的数组方法:Array.prototype.flat()Array.prototype.flatMap()。这两个方法都可以让我们更方便地处理多维数组。

Array.prototype.flat()

Array.prototype.flat() 可以将多维数组转换为一维数组。它接受一个可选的参数,表示要将多维数组转换为几维数组。如果不传参数,默认会将所有维度都转换为一维数组。

语法

-----------------

参数

  • depth:可选,表示要将多维数组转换为几维数组。默认为 1。

示例

----- --- - --- -- --- ----
----- ------- - -----------
--------------------- -- --- -- -- --

----- ---- - --- -- --- --- -----
----- -------- - -------------
---------------------- -- --- -- -- -- --

Array.prototype.flatMap()

Array.prototype.flatMap() 可以将多维数组转换为一维数组,并且可以对每个元素执行一个函数,最后将函数的返回值组成一个新的数组。

语法

---------------------

参数

  • callback:必须,表示对每个元素执行的函数。函数接受三个参数:当前元素、当前索引、原数组。函数返回一个新的数组,该数组会被合并到最终的结果中。

示例

----- --- - --- -- ---
----- ---------- - ------------- -- --- - - ----
------------------------ -- --- -- -- -- -- --

链式调用

Array.prototype.flat()Array.prototype.flatMap() 可以和其他数组方法一起链式调用,使代码更简洁。

示例

----- --- - --- -- --- ----
----- ------ - ---
  ---------- -- --- - - ---
  --------- -- - - --
  ------ -- ------- -------
-------------------- -- -------- --- ------- --- ------- --- ------- ---

总结

Array.prototype.flat()Array.prototype.flatMap() 是两个非常实用的方法,它们可以让我们更方便地处理多维数组。同时,它们也可以和其他数组方法一起链式调用,使代码更简洁。在实际开发中,我们可以根据需要选择使用这两个方法,提高代码的可读性和效率。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/66386deed3423812e467209a