数组扁平化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() |

相关推荐
2026-01-23
tambo
从不浪费时间的人,没有工夫抱怨时间不够。——杰弗逊 Tambo AI:让 React 界面“根据对话自动长出来”的 Generative UI SDK如果你的用户不该学会使用你的应用,而是应用该学会理解用户,那么 Tambo 的理念会让你眼前一亮。Tambo 是一套专为 React 打造的“Generative UI” SDK:你注册可用的组件,AI 会在自然语言对话中决定渲染哪些组件、以什么参数渲染。对新手和高手呈现出不同的界面,对“我想要的就是那张按地区分组的上季度销售图”这类自然指令,自动生成正确的交互与视图。 仓库:tambo-ai/tambo 官网与文档:tambo.co · docs.tambo.co 包:@tambo-ai/react 许可:MIT(部分工作空间为 Apache-2.0,见各自 LICENSE/NOTICE) 它是什么 一套针对 React 的生成式界面 SDK 让你“注册”组件及其 props schema,然后由 AI 决定何时以及如何渲染 支持一次性渲染的“生成式组件”和可持续交互更新的“可交互组件” 通...
2020-10-21
页面点击随机字符
不要让昨天占用今天的时间。 ——美洲 应群友的要求分享给大家~ 123456789101112131415161718192021222324252627282930313233343536//随机字$(function () { var a_idx = 0, b_idx = 0; c_idx = 0; jQuery(document).ready(function ($) { $("body").click(function (e) { var a = new Array("Daphne", "Ficus", "Iris", "Maackia", "Lythrum", "Myrica", "Sabia", "Flos", "あなたのことが好きです", "嬉しい", "頑張って!"...
2025-04-08
react-explorer
原谅是容易的,忘却则是困难的。——普拉顿 React Explorer: 一个使用 React 和 Electron 的文件管理器项目简介React Explorer 是一个开源的文件管理器项目,使用 TypeScript、React 和 Blueprint 编写,并使用 Electron 打包。它提供了一个跨平台的文件管理解决方案,支持 Linux、macOS 和 Windows 系统。 项目特点 跨平台支持:React Explorer 可以在 Linux、macOS 和 Windows 系统上运行,为用户提供一致的文件管理体验。 现代前端技术:项目使用 TypeScript 和 React 进行开发,确保代码的健壮性和可维护性。 Blueprint 组件库:使用 Blueprint 组件库构建用户界面,提供现代化的 UI 体验。 Electron 打包:通过 Electron 将应用打包成桌面应用,方便用户安装和使用。 状态管理:使用 MobX 进行状态管理,确保应用状态的一致性和响应性。 开源许可:项目采用 MIT 许可,允许用户自由使用和修改代码。 项目主页项目主...
2023-11-10
minio预签名上传前端axios注意事项
不论替人家做了多少好事,不论多么忠心耿耿,看起来,绝不能指望人家感谢你。——托尔斯泰 之前说过了camel+minio实现预签名URL上传 但当时提供的也是后端代码,现在需要前端axios的 axios文档:Axios API | Axios Docs 123456789101112axios({ method: 'PUT', url, headers: { "Content-Type": "application/octet-stream", }, data: new Blob([file]), responseType: "blob"}).then((res) => { console.log({ res })}).catch(console.error) 这里的file就是前端的File对象,我们此处是将其转换为Blob,然后再通过data参数发送,...
2025-02-05
vue-vben-admin
你与别人花费一样的时间,因为别人用心,而你吊儿郎当,所以到了最后检验成果的时候,别人成功,而你除了赔了时间之后,一无所得。——飞行员舒克 https://github.com/vbenjs/vue-vben-adminhttps://www.vben.pro/ 在开发后台管理系统时,Vue Vben Admin 是一个让我印象深刻的项目。它基于 Vue 3、Vite 和 TypeScript,为开发者提供了一个功能丰富的中后台模板,开箱即用。通过结合现代前端技术栈,Vben Admin 在性能优化、开发体验和灵活性上都表现得非常出色。 项目特点 最新技术栈:使用 Vue 3 和 Vite 进行开发,支持热更新和快速构建,极大提升了开发效率。 TypeScript 支持:代码类型安全、自动补全,降低了代码维护成本。 主题系统:支持多套预定义主题,用户还可以自定义主题色彩,打造符合品牌风格的界面。 国际化(i18n):内置国际化方案,支持多语言切换,方便面向全球用户的项目开发。 权限管理:提供动态路由和权限控制方案,可以根据用户角色灵活配置不同的页面和功能访问权限。 这些特点...
2023-06-18
CamanJS
过分宽大的法律,不易使人服从;太严厉的法律,则绝少被遵守。——富兰克林 分享一个前端基于canvas的图片js库 http://camanjs.com/ https://github.com/meltingice/CamanJS 安装 1npm install caman 用法: 1234567Caman('#my-image', function () { this.brightness(10); this.contrast(30); this.sepia(60); this.saturation(-30); this.render(); }); html 12345<img data-caman="brightness(10) contrast(30) sepia(60) saturation(-30)" data-caman-hidpi="/path/to/image@2x.jpg" src="path/to/image.jpg&q...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog