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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 共享1款STC单片机的最小系统图「建议收藏」

    共享1款STC单片机的最小系统图「建议收藏」最新写的博客感觉越来越低端了……今天焊接、调试了一快板子。板子比较小,功能简单,使用了STC单片机,型号:STC15W408AS,封装:TSSOP20。焊板后的第一次下载程序。单片机5V供电,使用FT232RL模块,将FT232RL配置成IO口5V供电。按照以前的流程下载程序,STC-ISP软件一直无法检测单片机。解决思路:1、排除硬件故障。1.1单片机VDD供电正常5V。…

    2022年4月19日
    101
  • php微信自动回复机器人,微信自动回复机器人功能怎么实现?[通俗易懂]

    php微信自动回复机器人,微信自动回复机器人功能怎么实现?[通俗易懂]原标题:微信自动回复机器人功能怎么实现?微信自动回复机器人功能怎么实现?最近有不少小伙伴都在询问这个问题。很多人在微信营销的过程中,都会有这样的问题,微信好友太多,想要都在第一时间回复,实在没有精力。下面小编就给大家分享如何使用微信自动回复机器人,大家再也不用担心回复不过来而忙的焦头烂额啦。首先通过米云微信软件,扫码将所以微信号登录,就可以将所有微信号的对话集成,全部聊天里整合了所有微信号的聊天…

    2022年10月1日
    5
  • mysql中文乱码问题,phpmyadmin操作解决方法

    mysql中文乱码问题,phpmyadmin操作解决方法

    2021年9月8日
    51
  • python画爱心代码大全_python爱心代码制作

    python画爱心代码大全_python爱心代码制作程序员在爱情方式上表达上展现的多种多样,其中现在大火的用编程去编写个表白内容,最受欢迎了,今天小编也尝试了下,一起来看看吧~准备工具:python3画爱心实施步骤:打开编译器,写上code,代码如下:fromturtleimport*pensize(1)pencolor(‘red’)fillcolor(‘pink’)speed(5)up()goto(-30,100)down()begin_f…

    2025年9月29日
    4
  • strstr函数的详细讲解

    strstr函数的详细讲解定义:strstr(str1,str2)函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。比如:charstr2=“cdef”;charstr1=“abcdefgh”;则通过函数,将返回strstr(str1,str2)=cdefgh;如果str1不包含有str2。charstr…

    2022年6月25日
    32
  • 彻底弄懂LSH之simHash算法[通俗易懂]

    彻底弄懂LSH之simHash算法[通俗易懂]马克·吐温曾经说过,所谓经典小说,就是指很多人希望读过,但很少人真正花时间去读的小说。这种说法同样适用于“经典”的计算机书籍。最近一直在看LSH,不过由于matlab基础比较差,一直没搞懂

    2022年8月5日
    6

发表回复

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

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