es6之数组的flat(),flatMap()「建议收藏」

es6之数组的flat(),flatMap()「建议收藏」数组的成员有时还是数组,Array.prototype.flat()用于将嵌套的数组“拉平”,变成一维数组。该方法返回一个新数组,对原数据没有影响。[1,2,[3,4]].flat()//[1,2,3,4]上面代码中,原数组的成员里面有一个数组,flat()方法将子数组的成员取出来,添加在原来的位置。flat()默认只会“拉平”一层,如果想要“拉平”多层的嵌套数组,可以将f…

大家好,又见面了,我是你们的朋友全栈君。

数组的成员有时还是数组,Array.prototype.flat()用于将嵌套的数组“拉平”,变成一维数组。该方法返回一个新数组,对原数据没有影响。

[1, 2, [3, 4]].flat()
// [1, 2, 3, 4]

上面代码中,原数组的成员里面有一个数组,flat()方法将子数组的成员取出来,添加在原来的位置。

flat()默认只会“拉平”一层,如果想要“拉平”多层的嵌套数组,可以将flat()方法的参数写成一个整数,表示想要拉平的层数,默认为1。

[1, 2, [3, [4, 5]]].flat()
// [1, 2, 3, [4, 5]]
[1, 2, [3, [4, 5]]].flat(2)
// [1, 2, 3, 4, 5]

上面代码中,flat()的参数为2,表示要拉平两层的嵌套数组。

如果不管有多少层嵌套,都要转成一维数组,可以用Infinity关键字作为参数。

[1, [2, [3]]].flat(Infinity)
// [1, 2, 3]

如果原数组有空位,flat()方法会跳过空位。

[1, 2, , 4, 5].flat()
// [1, 2, 4, 5]

flatMap()方法对原数组的每个成员执行一个函数,相当于执行Array.prototype.map(),然后对返回值组成的数组执行flat()方法。该方法返回一个新数组,不改变原数组。

// 相当于 [[2, 4], [3, 6], [4, 8]].flat()
[2, 3, 4].flatMap((x) => [x, x * 2])
// [2, 4, 3, 6, 4, 8]

flatMap()只能展开一层数组。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138859.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月30日 下午7:16
下一篇 2022年5月30日 下午7:36


相关推荐

  • kafuka学习之路(一)kafuka安装和简单使用

    kafuka学习之路(一)kafuka安装和简单使用一,安装环境与软件版本linux centOs664 jdk jdk-8u191-linux-x64.tar.gz zookeeper zookeeper-3.4.10.tar.gz kafuka kafka_2.11-0.11.0.2 二,安装##解压-rwxrw-rw-.1rootroot42136632Jun11…

    2022年6月12日
    121
  • APAP算法详解和VS代码实现「建议收藏」

    APAP算法详解和VS代码实现「建议收藏」前段时间由于学习需要好好研究了一下APAP,由于对Matlab不熟悉,并且没有Matlab和C++混合编程的经验,因此看到原作者的代码的时候真的是头疼,我只能一点点的去测试语句,这里很感谢这位博主的详尽文章思路分析,可能有些人看这个就懂了。https://blog.csdn.net/chentianting/article/details/88869872这里也要感谢一下这位博主,我们的交流让…

    2026年2月14日
    5
  • ADS1115 应用指导

    ADS1115 应用指导ADS1115 应用指导 王超杰一 产品概述 ADS1115 是一个超小 低功率 16 位精度并带有内部参考电压的 AD 转换器 AnalogtoDigi 主要运用于高精度仪表 汽车电子 蓄电池电压采集等高精度采集场合 二 产品特性 低功耗 连续模式 150uA 转化速率 8Bpsto860Bps 内部振荡器 内置参考电压 内部参考电

    2026年3月18日
    2
  • hasOwnProperty方法用法简介

    hasOwnProperty方法用法简介hasOwnProperty表示是否有自己的属性。这个方法会查找一个对象是否有某个属性,但是不会去查找它的原型链。▍示例varobj={a:1,fn:function(){},c:{d:5}};console.log(obj.hasOwnProperty(‘a’));//truecons…

    2025年8月22日
    10
  • 腾讯推出WorkBuddy Claw:小龙虾AI助手引爆全民部署热潮,微信QQ企业微信一键接入

    腾讯推出WorkBuddy Claw:小龙虾AI助手引爆全民部署热潮,微信QQ企业微信一键接入

    2026年3月13日
    2
  • mxgraph进阶(五)搭建mxGraph简单应用

    mxgraph进阶(五)搭建mxGraph简单应用mxgraph 进阶 五 搭建 mxGraph 简单应用使用前准备 mxBasePath 变量用来定义库资源的目录 这个变量必须在加载库前就定义好 scripttype text javascript mxBasePath javascript src script mxClient js 包含该类库的全部所需代码 script

    2026年3月26日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号