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 系列:音频转换让静图随声动起来,动作模仿让动漫复刻真人动作,操作简单,满足多元创意需求。
相关推荐
全栈陈序员43 分钟前
【Python】基础语法入门(三十一)—— API 开发:用 FastAPI 构建 RESTful 接口瀚高PG实验室1 小时前
瀚高数据库提交数据后,是否需要COMMITbksczm1 小时前
MySQL程序架构论文复现现场1 小时前
2026 低成本 AI Agent 模型怎么选?DeepSeek V4.1 Flash、Qwen3.8 Flash、GLM-5.3 Flash 对比懂点Tech9 小时前
ctfshow misc28:GIF 高度修改解题与脚本实现comedate9 小时前
SMLib 的 Examples 导读:PyAPI / SM_API / SMLib 三组示例怎么读云和数据.ChenGuang9 小时前
Python 重写(Override)深度解析:从 MRO 到 super() 的完整机制摇滚侠9 小时前
《On Java 中文版 基础卷》阅读笔记 实现隐藏 12川石课堂软件测试10 小时前
学习软件测试需掌握的一些知识万化冥合10 小时前
PyBox屏幕键盘如何辅助演示键盘操作?