前言
在 JavaScript 中,数组是一个非常重要的数据类型,而对于一些数组处理场景,我们经常要进行二维数组转化为一维数组的操作。ES2019 引入了一种新的函数 Array.flatMap(),可以方便地将二维数组转化为一维数组,避免了传统的迭代拼接方式。下面我们就具体了解一下这个函数的使用方法和特性。
使用方式
Array.flatMap() 函数与 Array.map() 类似,但是其第一次迭代的结果是一个新的二维数组,其内部元素被映射到新的数组中。而且如果有内部数组项为空或者未定义,那么该元素将被丢弃。
示范代码
----- --- - ---- --- --- --- --- --- ----- ----- ------- - ---------------- -- ------ --------------------- -- --- -- -- -- -- --- ---
上面代码中,我们创建一个二维数组 arr,并使用 flatMap() 函数匿名函数将其映射为一维数组 flatArr,输出结果为包含原始数组中所有元素的新的一维数组。可以看到,第三个元素是一个二维数组,而且在新的数组中并没有被展开。这是因为 flatMap() 会首先执行映射操作,然后会将每个映射的结果扁平化为一个新数组。如果我们希望对二维数组中的所有元素都进行展开,可以使用链式调用的方式。
总结
Array.flatMap() 既可以简化代码,提高效率,同时也增加了代码的可读性。但是需要注意的是,这个函数在早期的浏览器中并不能被完全支持,需要使用前需要对目标浏览器的支持情况进行判断。
参考资料
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/651ce70295b1f8cacd469738