ES7 引入的 Array 方法:flat 和 flatMap 详解

阅读时长 3 分钟读完

在 ES7 中,Array 类型新增了两个方法:flatflatMap。这两个方法可以帮助我们更快捷、简单和有效地处理嵌套数组和扁平化数组。

flat

flat 方法可以将多维数组“扁平化”,即把所有的嵌套数组变成一个一维数组。它的语法如下:

其中,arr 可以是任何数组,depth(可选)指定要扁平化的嵌套层数。默认值为 1。

示例代码如下:

当我们需要打平一个多维数组时,可以传递一个 depth 参数指定要扁平化的嵌套层数,示例代码如下:

flatMap

flatMap 方法和 map 方法类似,不同的是它会先将数组项映射到一个新的数组中,然后将映射后的结果打平成一个新的数组。它的语法如下:

其中,arr 是原数组,callback 是对原数组所有元素执行的函数,它的返回值是一个新的数组,thisArg 是执行 callback 函数时的 this 值,可以省略。

示例代码如下:

如果 callback 函数返回的是一个数组,那么 flatMap 方法会将这个数组打平之后,将其作为返回值添加到新的数组中,示例代码如下:

总结

在处理多维数组时,flatflatMap 方法可以让我们更方便地处理数组,提高我们的开发效率。flat 方法可以将多维数组“扁平化”,而 flatMap 方法可以将映射后的结果打平并添加到一个新的数组中。

需要注意的是,这两个方法在使用时需要慎重考虑嵌套层数和返回值的类型,以免出现不符合预期的结果。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6479e48b968c7c53b05cea40

纠错
反馈