在 ES9 中了解 Important 的数组方法:Array.flat() 和 Array.flatMap()

在 ES9 中,JavaScript 添加了两个新的数组方法:Array.flat()Array.flatMap()。这两个方法可以极大地简化数组的操作,特别是在处理嵌套数组时。在本文中,我们将深入了解这两个方法的用法和实际应用。

Array.flat()

Array.flat() 方法可以将一个嵌套的数组展开为一个单层的数组。这个方法可以接受一个可选的参数,表示要展开的嵌套层数,默认值为 1。如果你需要展开多层嵌套数组,可以传递一个大于 1 的数字作为参数。

下面是一个简单的例子,展示了如何使用 Array.flat() 方法将一个嵌套的数组展开为一个单层的数组:

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

在上面的例子中,我们使用 Array.flat() 方法将 nestedArray 展开为一个单层的数组。注意,最后一个元素 [5, 6] 仍然是一个数组,因为我们没有传递任何参数。如果我们传递参数 2,则所有嵌套层级都会被展开:

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

Array.flatMap()

Array.flatMap() 方法是 Array.map()Array.flat() 方法的组合。它首先对数组中的每个元素执行一个映射函数,然后将结果展开为一个单层的数组。这个方法也可以接受一个可选的参数,表示要展开的嵌套层数,默认值为 1。

下面是一个简单的例子,展示了如何使用 Array.flatMap() 方法将一个数组中的每个元素加倍,并将结果展开为一个单层的数组:

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

在上面的例子中,我们使用 Array.flatMap() 方法将 array 中的每个元素加倍,并将结果展开为一个单层的数组。注意,我们将每个元素的加倍结果包装在一个数组中,这是因为 Array.flatMap() 方法需要返回一个数组,而不是一个单独的值。

总结

在本文中,我们学习了 ES9 中的两个新的数组方法:Array.flat()Array.flatMap()。这两个方法可以极大地简化数组的操作,特别是在处理嵌套数组时。Array.flat() 方法可以将一个嵌套的数组展开为一个单层的数组,而 Array.flatMap() 方法可以对数组中的每个元素执行一个映射函数,并将结果展开为一个单层的数组。这两个方法的使用非常简单,但在实际应用中非常有用。

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