ECMAScript 2018 (ES9) 新标准:Array.prototype.flat 和 Array.prototype.flatMap

在前端开发中,数组操作是十分常见的。ECMAScript 2018 (ES9)引入了 Array.prototype.flatArray.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() 方法可以同时对数组进行 mapflat 操作,将子数组映射成一个新数组后再拍平。

2.1 语法

callback 表示对数组每个元素执行的函数,类似于 Array.prototype.map,不同的是它返回一个一维数组。同时 thisArg 可以传递作用域链中 this 的对象。

2.2 示例

这里的 callback 函数将每个原数组元素乘以 2 并返回新数组,然后 flatMap 方法再将新数组拍平成一个一维数组。

3. 总结

在实际开发中,Array.prototype.flatArray.prototype.flatMap 方法可以大大提高数组操作的效率和便捷性。通过本文的介绍和示例,相信读者已经掌握了这两个方法的使用方法及其指导意义。

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


纠错
反馈