es6数组的flat()方法

es6数组的flat()方法Array.prototype.flat()flat()方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。Array.prototype.flat()用于将嵌套的数组“扁平化”,将二维数组变成一维数组。该方法返回一个新数组,对原数据没有影响。语法:varnewArray=arr.flat([depth])参数:depth可选,指定要提取嵌套数组的结构深度,默认值为1。返回值:一个包含数组与子数组中所有元素的新数组。示例:var

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

Array.prototype.flat()

flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。

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

语法:

var newArray = arr.flat([depth])

参数:depth 可选,指定要提取嵌套数组的结构深度,默认值为 1。

返回值:一个包含数组与子数组中所有元素的新数组。

示例:

var arr1 = [
    [0, 1],
    [2, 3],
    [4, 5]
]
var arr2 = arr1.flat()
console.log(arr2)   // [0, 1, 2, 3, 4, 5]

var arr = [1, 2, [3, 4, [5, 6]]];
console.log(arr.flat());   // [1, 2, 3, 4, [5, 6]]
console.log(arr.flat(2));  // [1, 2, 3, 4, 5, 6]

使用 Infinity,可展开任意深度的嵌套数组:

var arr3 = [1, 2, [3, 4, [5, 6, [7, 8, [9, 10]]]]];
console.log(arr3.flat(Infinity));  // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

flat() 方法会移除数组中的空项:

var arr4 = [1, 2, , 4, 5];
console.log(arr4.flat());   // [1, 2, 4, 5]

flat()方法的替代方案:使用reduce()和concat()

var arr1 = [
    [0, 1],
    [2, 3],
    [4, 5]
]
var arr2 = arr1.reduce((arr,item)=>arr.concat(item),[])
console.log(arr2)  // [0, 1, 2, 3, 4, 5]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Office系列在线预览

    Office系列在线预览

    2021年8月12日
  • django debug_vscode django

    django debug_vscode django介绍Django框架的调试工具栏使用django-debug-toolbar库,是一组可配置的面板,显示有关当前请求/响应的各种调试信息,点击时,显示有关面板内容的更多详细信息。应用1.安装

    2022年7月30日
  • Log4j中conversionPattern的含义「建议收藏」

    Log4j中conversionPattern的含义「建议收藏」%a–表示礼拜几,英文缩写形式,比如“Fri”%A–表示礼拜几,比如“Friday”%b–表示几月份,英文缩写形式,比如“Oct”%B–表示几月份,“October”%c–

    2022年7月2日
  • 常用的分布式事务解决方案有哪些_分布式事务redis解决方案

    常用的分布式事务解决方案有哪些_分布式事务redis解决方案首页 博客 专栏·视频 下载 论坛 问答 代码 直播 能力认证 高校会员中心收藏动态消息创作中心常用的分布式事务解决方案凌澜星空2018-03-1114:44:5575315收藏466分类专栏:架构高性能网站微服务项目实战文章标签:微服务分布式架构事务一致性版权众所周知,数据库能实现本地事务,也就是在同一个数据库中,你可以允许一组操作要么全都正确执行,要么全都不执行。这里特别强调了本地事务,也就是目前的…

    2022年10月26日
  • saga分布式事务_spring分布式事务实现

    saga分布式事务_spring分布式事务实现Saga分布式事务解决方案与实践我先介绍一下我自己,我叫姜宁,来自于华为开源研究中心,现在负责的是ServiceComb这个开源项目。ServiceComb这个项目已经进到Apache孵化,应该是去年11月份时进到Apache孵化的,这个月我们帮刚发了1.0M1版,但对于SAGA来说我们属于探索的阶段,发布了0.1.0。我参与过Apache一些项目,我也是Apache的Member,…

    2022年9月19日
  • win10下CUDA10 CUDNN的安装

    win10下CUDA10 CUDNN的安装

    2021年3月12日

发表回复

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

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