摘要:本文主要介绍了es6数组的flat()和flatMap()函数的用法,并结合实例分析了es6数组的flat()和flatMap()函数的基本功能、使用方法和注意事项。有需要的可以参考一下。
本文结合实例介绍了es6阵列的flat()和flatMap()函数的使用。分享给你,供你参考,如下:
数组的成员有时是数组,Array.prototype.flat()用于将嵌套数组“展平”成一维数组。此方法返回一个新数组,它对原始数据没有影响。
[1, 2, [3, 4]].扁平()
//[1, 2, 3, 4]
在上面的代码中,原数组的成员中有一个数组,flat()方法取出子数组的成员,添加到原位置。
默认情况下,flat()只会“展平”一个图层。如果要“展平”多层嵌套数组,可以将flat()方法的参数写成整数,表示要展平的层数,默认值为1。
[1, 2, [3, [4, 5]]].扁平()
//[1, 2, 3, [4, 5]]
[1, 2, [3, [4, 5]]].公寓(2)
//[1, 2, 3, 4, 5]
在上面的代码中,flat()的参数是2,意思是展平两层的嵌套数组。
不管嵌套多少层,都要转换成一维数组。您可以使用Infinity关键字作为参数。
[1, [2, [3]]].平坦(无穷大)
//[1, 2, 3]
如果原始数组有一个空格,flat()方法将跳过这个空格。
[1, 2, 4, 5].扁平()
//[1, 2, 4, 5]
flatMap()方法对原数组的每个成员执行一个函数,相当于执行Array.prototype.map(),然后对返回值组成的数组执行flatmap()方法。此方法返回一个新数组,而不改变原始数组。
//等价于[[2,4],[3,6],[4,8]]。扁平()
[2, 3, 4].平面映射((x)=[x,x * 2])
//[2, 4, 3, 6, 4, 8]
FlatMap()只能扩展一级数组。
感兴趣的朋友可以使用
在线HTML/CSS/JavaScript代码运行工具
:http://tools.jb51.net/code/HtmlJsRun来测试上述代码的运行效果。更多JavaScript相关内容,请参考我们的专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》和《JavaScript数学运算用法总结》
希望这篇文章对大家的JavaScript编程有所帮助。