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

相关推荐
2024-01-15
纯css实现炫酷头像效果
官僚作风是一门使可能变成不可能的艺术。——萨尔塞多 分享一个炫酷头像效果: 从b站渡一教育的一个视频看到的(不是推广,只是注明出处) 123456789101112131415161718192021222324252627282930313233343536373839<style> img { --s: 280px; --c1: #c02942; --c2: #ecd078; --b: 5px; --f: 1; --bgOption: content-box no-repeat center/ calc(100% / var(--f)) 100%; --shrink: calc((var(--s) / var(--f) - var(--s)) / 2 - var(--b)); width: var(--s); height: var(--s); cursor: pointer; transition: 0.5s; padding-top: 100px; outline: ...
2020-06-05
前端传递参数后端接收不到的坑
前两天跟小伙伴一起做项目的时候遇到一个问题 我们前端同志传递过来的参数无论如何也接收不到,debug发现根本没有传进来,而前端明明传了 后来在哥们儿的帮助下发现原来是参数名的问题…. 用的是代码生成器,生成的javabean的属性名是这样的uname 而生成的getter/setter方法名是这样的… 123456789101112131415161718/** * 获取活动名称 * * @return 活动名称 */public String getEName() { return this.eName;}/** * 设置活动名称 * * @param eName * 活动名称 */public void setEName(String eName) { this.eName = eName;} 直接导致参数接收不到 解决办法是用 12345@PostMapping("/event/add")public AjaxJson addEvent(@RequestBody Map...
2022-09-01
blob和base64互转
交易场上的朋友胜过柜子里的钱款——托·富勒 blob转base64 1234567891011121314151617// blob转base64async function blobToBase64(blob) { let buffer = await blob.arrayBuffer() let bytes = new Uint8Array(buffer); console.log(bytes) // do anything with the byte array here let binary = '' var len = bytes.byteLength; for (var i = 0; i < len; i++) { binary += String.fromCharCode(bytes[i]); } base64 = 'data:image/webp;base64,' + window.btoa(binary) co...
2025-10-15
jekyll-theme-chirpy
窥天地之奥而达造化之极——李时珍 https://github.com/cotes2020/jekyll-theme-chirpy Chirpy:技术写作的极致优雅——Jekyll 最受欢迎的极简响应式主题如果你是技术极客、程序员、运维、独立开发者,或是任何热爱写作和分享的人,相信你一定会关注“博客体验”这件小事。你想要页面清爽、内容聚焦、功能强大、移动端友好、上手成本低?那么,Chirpy 绝对值得你深入体验! 一、项目简介 项目地址:cotes2020/jekyll-theme-chirpy 演示站点:https://chirpy.cotes.page 一句话描述:A minimal, responsive, and feature-rich Jekyll theme for technical writing. 主语言:HTML(基于 Jekyll,支持 RubyGems) Star:9310+ Fork:7041+ 开源协议:MIT 标签:jekyll jekyll-theme responsive-web-design html5 bootstrap p...
2021-11-04
uniapp分包
当众人都哭时,应该允许有的人不哭。当哭成为一种表演时,更应该允许有的人不哭。——莫言 我们在使用uniapp进行微信小程序开发时可能会遇到如下情况: 这是因为微信小程序官方文档提到: 某些情况下,开发者需要将小程序划分成不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载。 在构建小程序分包项目时,构建会输出一个或多个分包。每个使用分包小程序必定含有一个主包。所谓的主包,即放置默认启动页面/TabBar 页面,以及一些所有分包都需用到公共资源/JS 脚本;而分包则是根据开发者的配置进行划分。 在小程序启动时,默认会下载主包并启动主包内页面,当用户进入分包内某个页面时,客户端会把对应分包下载下来,下载完成后再进行展示。 目前小程序分包大小有以下限制: 整个小程序所有分包大小不超过 20M 单个分包/主包大小不能超过 2M 对小程序进行分包,可以优化小程序首次启动的下载时间,以及在多团队共同开发时可以更好的解耦协作。 此时可以进行简单的静态资源处理,将static目录下的图片之类的压缩或者放到在线图床上 如果在这样处理后还是提示超...
2021-06-20
vue页面加载完毕之后执行
好奇心造就科学家和诗人。——法朗士 当vue页面加载完成后触发 我们在html开发中经常是使用window.onload实现 123window.onload = () => { } 但在vue中我们使用this.$nextTick 123this.$nextTick(() => { console.log("页面加载完啦~")}) 效果如下

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