在 ECMA2019 规范中引入了 Array.prototype.flatMap() 方法,它可以将二维数组一键扁平化,同时也支持链式调用。下面我们来详细了解一下该方法的使用。
语法
----------------------------------- ------- ---------- ---------
callback
:作为数组中每个元素执行的函数。currentValue
:数组中正在处理的元素。index
:数组中正在处理的元素的下标。array
:被执行的数组。thisArg
:可选参数,执行callback
函数时使用的this
值。
示例
假设有以下数组:
----- --- - --- -- -- -- ---
我们想要将它扁平化并乘以 2,那么可以使用 flatMap()
方法:
----- ------ - ------------- -- -- - ---- -------------------- ----- -- -- -- ---
可以发现,该方法首先将每个元素乘以 2 ,然后同时组成新的数组并返回。
除了简单的一维数组,该方法也可以扁平化多维数组,比如将二维数组转成一维数组。
----- --- - ---- --- --- --- --- ---- ----- ------ - ------------- -- --- -------------------- ----- -- -- -- -- --
这里 x => x
表示直接返回每个子数组,从而将这些子数组合并成一个数组。
注意事项
需要注意的是,flatMap()
方法会忽略数组中的空位并移除它们。
----- --- - --- - - -- --- ----- ------ - ------------- -- ----- -------------------- ----- -- --
因此,在使用该方法时,需要事先确认数组中是否有空位。
结论
通过本文的介绍,我们了解到了 ES7 中新加入的 flatMap()
方法,它可以方便地将二维数组扁平化,同时还支持链式调用。需要注意的是,该方法会忽略数组中的空位并移除它们。开发者可灵活运用该方法,提高数组的操作效率。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/67123889ad1e889fe2038874