数组扁平化flat
发表于|更新于
|浏览量:
还保持着较为清醒的头脑,就决然不能把人生之船长期停泊在某个温暖的港湾。——路遥《早晨从中午开始》
在前端开发中可能会有这样的需求:
将一个数组中的数组拆分出来放到原数组中
那么我们就可以使用flat函数
1 | [1,[2,3,[4,5,6,[7,8,9]]]].flat() |

flat中可以传入参数为数字,表示你要拆分数组的层数


如果全部拆分,可以使用flat(Infinity)
1 | [1,[2,3,[4,5,6,[7,8,9]]]].flat(Infinity) |

如果是较为复杂点的对象,则就只能使用map先取出来,再使用flat
1 | [{ruben:[1]},{ruben:[2,3]}].map(({ruben})=>ruben).flat() |

相关推荐
2022-11-10
parceljs
趋炎附势的人,不可与其共患难。——拜伦 分享一个前端打包工具 官方文档:https://parceljs.org/ 中文文档:https://www.parceljs.cn/ 非常好用
2025-02-26
JS的线程模型和事件循环机制
生命不是安排,而是追求。——弗吉尼亚·伍尔芙 从线程和浏览器底层执行的角度来看,JavaScript 的延迟/休眠功能是如何实现的呢? 线程模型和事件循环JavaScript 的执行环境(如浏览器或 Node.js)是单线程的,这意味着在任何给定的时间点,只有一个线程在执行 JavaScript 代码。为了管理并发操作,JavaScript 依赖于事件循环(Event Loop)。 事件循环事件循环是一个不断检查和处理消息队列的机制。它会执行以下步骤: 检查调用栈(Call Stack),如果调用栈为空,则继续。 检查消息队列(Message Queue),如果消息队列中有待处理的任务,则取出队首的任务并执行。 重复以上步骤。 宏任务和微任务在事件循环中,有两种类型的任务:宏任务(Macro Task)和微任务(Micro Task)。 宏任务:包括整体脚本执行、setTimeout、setInterval、setImmediate(Node.js)等。 微任务:包括 Promise 的回调、process.nextTick(Node.js)、Mutation...
2023-06-21
hexo-bilibili-bangumi
练习是良好的老师。——贺拉斯 分享一个hexo插件: https://github.com/HCLonely/hexo-bilibili-bangumi hexo 番剧页面插件,可选数据源:Bilibili, Bangumi Demo 安装 1$ npm install hexo-bilibili-bangumi --save 配置 将下面的配置写入站点的配置文件 _config.yml 里(不是主题的配置文件). 12345678910111213141516171819202122232425262728293031323334353637383940414243bangumi: # 追番设置 enable: true source: bili bgmInfoSource: 'bgmApi' path: vmid: title: '追番列表' quote: '生命不息,追番不止!' show: 1 lazyload: true srcValue: '__image__'...
2023-01-14
google、YouTube、Medium进度条
当一个男人偷走了你的妻子时,最好的报复是让他去赡养她——吉特里 这是一个目前25K stars的项目 github:https://github.com/rstacruz/nprogress 演示网址:http://ricostacruz.com/nprogress 进度条是浏览器上方的这个
2025-08-01
x6
人们宁愿去关心一个蹩脚电影演员的吃喝拉撒和鸡毛蒜皮,而不愿了解一个普通人波涛汹涌的内心世界。——路遥《平凡的世界》 X6 :让你的流程图、DAG、ER图开发像搭积木一样高效有趣!如果你是一名开发者、产品经理,或者数据分析师,是否曾为“如何快速搭建一个好用、美观、可定制的流程图/DAG/ER图编辑器”而头疼?AntV X6,就是为了解决你的痛点而生的专业图编辑引擎! X6是什么?X6 是 AntV 旗下的图编辑引擎,专为流程图、DAG 图、ER 图等各类图应用打造。它提供了简单易用的节点定制能力和丰富的交互组件,让你像搭积木一样快速实现强大、个性化的图应用,无论你是用 SVG、HTML、React、Vue 还是 Angular,都能轻松上手定制。官网直达:https://x6.antv.antgroup.com 四大核心特性,让图编辑开发变得“丝滑”!🌱 极易定制 支持 SVG/HTML/React/Vue/Angular 各种主流技术栈,无论你喜欢哪种方式,都能打造出炫酷的节点样式和交互效果。 节点、边都能灵活...
2025-11-06
OpenTUI
我说你是人间的四月天,笑响点亮了四面风,轻灵在春的光艳中交舞着变。你是四月天里的云烟,黄昏吹着风的软,星子在无意中闪,细雨点撤在花前。——林徽因《你是那人间的四月天》 打造极致终端体验!OpenTUI:TypeScript 终端界面开发新利器在互联网日益图形化的今天,Terminal(终端)依旧在开发者和极客圈中有着不可替代的重要地位:高效、纯粹、可脚本化、轻量且跨平台。如果你曾被命令行的“单调”困扰,或希望为CLI工具甚至运维平台打造更现代、交互丰富的终端界面(TUI),那么你一定不能错过——OpenTUI! 一、什么是OpenTUI? 项目地址:sst/opentui 官网主页:https://opentui.com 一句话简介:OpenTUI 是一个用于构建终端用户界面(TUI, Terminal User Interface)的 TypeScript 库。 主要语言:TypeScript Star:4,529+ Fork:164+ 授权协议:MIT 无论你要开发终端应用仪表盘、交互式安装器、数据小工具,还是命令行游戏,这个库提供了现代化、丰富的能力,让你...
