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