理解 ES10 中 Array 的 flat() 方法和 flatMap() 方法

阅读时长 3 分钟读完

JavaScript ES10 在 Array 中增加了两个新的方法:flat() 和 flatMap()。这两个方法可以更容易地处理多维数组的操作。

flat() 方法

flat() 方法将一个多维数组转化为一个一维数组,通过指定深度来控制展平的层数。该方法不改变原数组,而是返回一个新的一维数组。

语法:

参数:

  • depth:可选,指定展开的嵌套深度,默认值为 1。

返回值:

  • 一个新的一维数组。

示例:

flatMap() 方法

flatMap() 方法通过先使用 map() 方法创建一个新数组,然后展平该数组,可以将多维数组转化为一维数组。与 flat() 方法不同的是,flatMap() 方法还可以对数组中每个元素进行处理,从而生成新的元素。

语法:

参数:

  • callback:必需,生成新数组元素的回调函数。
  • thisArg:可选,回调函数中的 this 对象。

返回值:

  • 一个新的一维数组。

示例:

总结

  • flat() 方法将一个多维数组转化为一个一维数组,可以通过传入深度来控制展平的层数;
  • flatMap() 方法通过使用 map() 方法创建一个新数组,然后展平该数组,可以将多维数组转化为一维数组,并且可以对数组中每个元素进行处理。

这两个方法可以方便地操作多层嵌套的数组,并且让代码更加简洁清晰。

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

纠错
反馈