数组扁平化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-12-25
mask
任凭人群来往,任凭钟声响起,小孩啼哭——决心好好过上一天。——梭罗《瓦尔登湖》 分享一个css属性mask: https://developer.mozilla.org/zh-CN/docs/Web/CSS/mask https://css-tricks.com/almanac/properties/m/mask/ CSS 属性 mask 允许使用者通过遮罩或者裁切特定区域的图片的方式来隐藏一个元素的部分或者全部可见区域。 这个属性很类似于background属性,但不同的是,background是背景在元素下层,mask是遮罩在元素上层,且mask不支持直接指定color,只支持image对象如图片、svg等 同样两者都是组合属性,意味着可以用简写,而不是一个一个去指定 12mask-image: url(/img/oss/blog/vampireachao/bilibili-line.svg);mask-repeat: no-repeat; 可以简写为 1mask: url(/img/oss/blog/vampireachao/bilibili-line.svg) ...
2022-01-11
uniapp对接oss视频上传+压缩
与其在绝望和挣扎中苟活,不如在希冀和盼望中死亡。——纪伯伦 首先是文件上传的代码: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899module.exports = { getUUID() { //生成UUID return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => { return (c === 'x' ? (Math.random() * 16 | 0) : ('r&0x3' | '0x8')).toString(16) }) &...
2020-09-01
js函数防抖
之前写了一篇javascript防抖是应用在按钮中的 今天继续完善一下,下面的函数ruben就算循环10亿次,一秒内也会只调用一次 123456789101112131415var antiShakeFlag = false; function ruben() { if (antiShakeFlag) { return; } console.log("ruben") antiShakeFlag = true; setTimeout(() => { antiShakeFlag = false; }, 1000); } for (let i = 0; i < 10; i++) { console.log("achao&qu...
2021-10-25
箭头函数和解构赋值混用
一个人的礼貌是一面照出他的肖像的镜子。——歌德 我们在前端对数组进行操作时,如果使用map函数,编写的箭头函数其实也是可以解构的 例如经常遇到的,将一个对象数组中的属性,更换另一个属性名,用于给vue组件传值 写法如下: 1[{name:'achao',id:1},{name:'阿超',id:2}].map(({name:username,id:userId})=>({username,userId})) 注意的是,结构赋值需要打括号,下方再举一个例子,这里用flatMap收集全部的name和id直接变为一个数组 1[{name:'achao',id:1},{name:'阿超',id:2}].flatMap(({name,id})=>[name,id])
2020-08-22
字符串的split和join
split() 将字符串拆分成数组 join() 将数组合并 参数为分隔符 两套代码 123456#JavaScriptvar str = "ruben";var array = str.split('');array.forEach(s => console.log(s));str = array.join('');console.log(str); 以及 12345678//javaString str = "ruben";String[] array = str.split("");for (String s : array) { System.out.println(s);}str = String.join("", array);System.out.println(str);
2022-04-22
css实现鼠标划入显示拖动条
古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。——苏轼 代码如下: 1234567891011121314151617181920212223242526272829<!DOCTYPE html><html> <head> <style> .ruben-container{ height: calc(100vh - 70vh); width: calc(100vw - 70vw); overflow-y: auto; } .ruben-container::-webkit-scrollbar { width: 4px; } .ruben-container::-webkit-scrollbar-thumb{ ...
