ES9 新特性:Array.prototype.{flat,flatMap}() 方法详解

阅读时长 3 分钟读完

介绍

ES9 为数组新增了两个方法:Array.prototype.flat() 和 Array.prototype.flatMap()。

Array.prototype.flat() 方法用于将多维数组扁平化为一维数组,而 Array.prototype.flatMap() 则是先对每个元素进行映射,再对结果进行扁平化。这两个方法都返回新的一维数组。

使用方法

Array.prototype.flat()

Array.prototype.flat() 方法可以接收一个可选的整数参数,表示要扁平化的层数。如果不传参数,默认值为 1。如果传入 Infinity,表示要将所有嵌套数组扁平化为一维数组。

Array.prototype.flatMap()

Array.prototype.flatMap() 方法接收一个函数作为参数,该函数会对数组中的每个元素进行处理。处理后的结果会被扁平化为一个新的一维数组。

上面的例子中,我们对数组中的每个元素都进行了乘以 2 的操作,然后把处理后的结果扁平化成了一个新的数组。

案例应用

扁平化多维数组

我们可以使用 Array.prototype.flat() 方法轻松地将多维数组转换为一维数组。

数组展开

在 JavaScript 中,我们可以使用展开运算符将数组展开成多个参数。

使用 Array.prototype.flatMap() 方法,我们可以将数组中的每个元素映射成一个新的数组,然后将这些新的数组扁平化成一个新的数组。

上面的例子中,我们先将每个字符串转换成一个新的数组,然后扁平化成了一个新的一维数组。

总结

ES9 中新增的 Array.prototype.flat() 和 Array.prototype.flatMap() 方法可以更加简便地处理数组,提高开发效率。具体使用时,需要根据实际需求选择不同的方法,并注意方法参数的使用。

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

纠错
反馈