在前端开发中,数组操作是十分常见的。ECMAScript 2018 (ES9)引入了 Array.prototype.flat
和 Array.prototype.flatMap
两个新方法,使数组操作更加高效和方便。本文将会对这两个方法进行详细介绍。
1. Array.prototype.flat
Array.prototype.flat()
方法可以将嵌套层级的数组“拍平”,即将嵌套的子数组转换为同一层级的元素。
1.1 语法
-----------------
arr
表示要拍平的数组,depth
表示拍平的深度,默认值为 1。
1.2 示例
----- --- - ---- --- --- --- ----- ------------------------ -- --- -- -- --- --- ------------------------- -- --- -- -- -- --
上面的代码中,将 arr
进行了两次 flat
操作,第一次拍平一级,第二次拍平两级。
2. Array.prototype.flatMap
Array.prototype.flatMap()
方法可以同时对数组进行 map
和 flat
操作,将子数组映射成一个新数组后再拍平。
2.1 语法
---------------------- ---------
callback
表示对数组每个元素执行的函数,类似于 Array.prototype.map
,不同的是它返回一个一维数组。同时 thisArg
可以传递作用域链中 this 的对象。
2.2 示例
----- --- - --- -- --- ----- ------ - ------------- -- -- - ---- -------------------- -- --- -- --
这里的 callback
函数将每个原数组元素乘以 2 并返回新数组,然后 flatMap
方法再将新数组拍平成一个一维数组。
3. 总结
在实际开发中,Array.prototype.flat
和 Array.prototype.flatMap
方法可以大大提高数组操作的效率和便捷性。通过本文的介绍和示例,相信读者已经掌握了这两个方法的使用方法及其指导意义。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6529286f7d4982a6ebbb4043