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

相关推荐
2025-06-16
mermaid-live-editor
教学的艺术不在于传授本领,而在于关于激励、唤醒、鼓舞。——第斯多惠 https://github.com/mermaidjs/mermaid-live-editor Mermaid Live Editor:在线绘制和分享流程图、时序图的神器在日常开发、产品设计和文档编写中,流程图、时序图、甘特图等可视化图形是表达系统逻辑、业务流程和协作方案的利器。Mermaid 作为一款流行的文本化图形描述工具,在开发者和技术团队中拥有极高的口碑。而 @mermaidjs/mermaid-live-editor 正是将 Mermaid 的强大能力带到了浏览器,让你即开即用、即写即画。 什么是 Mermaid Live Editor?Mermaid Live Editor 是一个基于浏览器的在线编辑器,专门用于编写和实时渲染 Mermaid 语法的各种图表。你只需要用简单的 Markdown 风格文本描述图表结构,编辑器即可自动渲染为可视化图形,并且支持导出、分享、预览等便捷操作。 主要特性1. 实时预览与高亮 左侧输入 Mermaid 语法,右侧实时渲染对应图形。 支持语法高亮...
2022-05-21
css属性选择器
谁终将声震人间,必长久深自缄默;谁终将点燃闪电,必长久如云漂泊。——尼采 首先是MDN:https://developer.mozilla.org/zh-CN/docs/Web/CSS/Attribute_selectors 然后是场景: 此处需要将所有包含overflow: scroll行内样式(也就是元素的style属性内写样式)的元素,设置为overflow:auto 代码: 123*[style*='overflow: scroll'] { overflow: auto !important;} 示例链接CSS12345678910111213141516171819202122232425262728a { color: blue;}/* 以 "#" 开头的页面本地链接 */a[href^="#"] { background-color: gold;}/* 包含 "example" 的链接 */a[href*=&q...
2021-11-01
nvue坑
人之所以走入迷途,并不是由于他的无知,而是由于他自以为知。——卢梭 《爱弥儿》 前两天用nvue踩了不少坑,例如之前写的nvue引入图标坑就是一个 例如manifest.json中这里需要配置为weex才能使用weex渲染 uniapp-nvue文档 weex文档 要注意这里 基本上是nvue的一些常见的坑 还有其他的一些,例如一些不支持的css写法如transition 如果写成transition: 1s;则会提示 当然transition: all 1s;也不行 只能针对对应的过渡去写: 12transition-property: width;transition-duration: 1s; 缩写就是: 1transition: width 1s linear 2s; 一般像不支持的全局属性,需要写在条件编译里 12345678910.logo { height: 0; width: 0; /* #ifndef APP-PLUS-NVUE */ transition: all 1s; /* #endif */ /* #ifdef APP-PLUS...
2022-04-01
antdv动态表单组件
你已春色摇曳,我仍一身旧雪。——送花的人走了 分享一个自己写的antdv动态表单组件 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618...
2022-08-31
资源路径与blobUrl互转
害怕树敌的人永远得不到真正的朋友——哈兹里特 首先是普通资源URL转换为blobUrl 12345678910111213// 生成blobURLconst xhr = new XMLHttpRequest();xhr.open('GET', 'https://VampireAchao.github.io/imgs/preview/3356_3.jpg', true);xhr.responseType = 'blob';xhr.onload = function (e) { if (this.status == 200) { var blob = this.response; console.log(blob); // document.getElementById("myImg").src = URL.createObjectURL(blob); console.log(URL.createObjectURL(bl...
2021-11-27
event
有信仰的人不会孤独。——阿列克谢耶维奇 vue官方文档有介绍$event 我们在开发中经常这么写来获取事件 1<div class="trigger-me" @click="triggerMe">点我触发</div> 方法: 123456methods: { triggerMe(e, name) { console.log('e: ', e); console.log('name: ', name); }} 然后调用一下 可以看到打印出了事件,如果我们需要传入其他参数,就可以使用$event了 1<div class="trigger-me" @click="triggerMe($event, 'ruben')">点我触发</div> 再次触发:

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