在 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