JavaScript数组扁平化flat与flatMap处理嵌套数据

JavaScript数组扁平化指将多层嵌套数组压平为一层,flat()按指定深度展开(默认1层,Infinity可完全扁平),flatMap()先映射再扁平一层,二者语义清晰、性能好、可读性强,是现代项目的首选方案。JavaScript中数组扁平化是指将多层嵌套的数组"压平"成一层,便于后续处理。flat() 和 flatMap() 是ES2019引入的两个原生方法,专门用于简化嵌套数据操作,比手写递归或reduce更简洁、可读性更强。flat():按指定深度展开嵌套数组flat() 返回一个新数组,将原数组中所有子数组(按指定深度)的元素依次取出,合并到结果中。不修改原数组。语法:arr.flat(depth),depth 默认为 1,即只展开一层;传入 Infinity 可完全扁平化任意深度嵌套。1, \[2, 3, 4, \[5]].flat() → 1, 2, 3, 4, \[5](只展一层)1, \[2, 3, 4, \[5]].flat(2) → 1, 2, 3, 4, 5(展两层)1, \[2, \[3, \[4]]].flat(Infinity) → 1, 2, 3, 4注意:flat() 会跳过空槽(empty slots),比如 1, , 3.flat() 得到 1, 3;但不会过滤 undefined 或 null 元素。立即学习"Java免费学习笔记(深入)";flatMap():先映射再扁平(深度为1)flatMap() 相当于先调用 map(),再对结果执行 flat(1)。它只扁平一层,且必须配合映射函数使用,适合"生成并展平"的场景。语法:arr.flatMap(callback),callback 返回数组(或非数组值),最终结果自动展平一层。 千面数字人 千面 Avatar 系列:音频转换让静图随声动起来,动作模仿让动漫复刻真人动作,操作简单,满足多元创意需求。

相关推荐
赵大仁1 小时前
极空间 NAS 没有命令行,我逆向了它的桌面客户端
python·ai编程·nas·mcp·极空间
空白2 小时前
Power BI +VBA 【数据分析】
python
科技苑8 小时前
Python简单网络爬虫教程
爬虫·python
2501_933670798 小时前
2026秋招数据分析岗备考路线:SQL、BI、项目与面试题拆解
数据库
香吧香9 小时前
java服务异常日志只打印异常类型,没有堆栈定位分析
java·jvm·异常
Patrick在香港10 小时前
Claude Prompt 香港场景:公文里「今日」落在 6 个日历日上,「翌日」锚错了 5 天
python·自然语言处理·正则表达式·claude·数据清洗
我要见SA姐110 小时前
告别 Copilot?Codex 本地化部署指南
运维·数据库·机器学习·oracle·回归
程序员黎剑11 小时前
JVM-元空间溢出-OutOfMemoryError-Metaspace排查与解决
jvm
YsyaaabB11 小时前
Python 数值分析
python
阿洛学长11 小时前
计算机二级 Python 基本操作题(15 分)真题笔记(0101 ~ 1903 全套)
python·pycharm