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 系列:音频转换让静图随声动起来,动作模仿让动漫复刻真人动作,操作简单,满足多元创意需求。

相关推荐
全栈陈序员43 分钟前
【Python】基础语法入门(三十一)—— API 开发:用 FastAPI 构建 RESTful 接口
python·restful·fastapi
瀚高PG实验室1 小时前
瀚高数据库提交数据后,是否需要COMMIT
数据库·postgresql·瀚高数据库
bksczm1 小时前
MySQL程序架构
数据库·mysql·架构
论文复现现场1 小时前
2026 低成本 AI Agent 模型怎么选?DeepSeek V4.1 Flash、Qwen3.8 Flash、GLM-5.3 Flash 对比
数据库·人工智能·qwen·ai agent·glm·deepseek
懂点Tech9 小时前
ctfshow misc28:GIF 高度修改解题与脚本实现
开发语言·windows·python
comedate9 小时前
SMLib 的 Examples 导读:PyAPI / SM_API / SMLib 三组示例怎么读
python·cad·smlib·examples·sm_api
云和数据.ChenGuang9 小时前
Python 重写(Override)深度解析:从 MRO 到 super() 的完整机制
java·开发语言·人工智能·python·langchain·1024程序员节
摇滚侠9 小时前
《On Java 中文版 基础卷》阅读笔记 实现隐藏 12
java·数据库·笔记
川石课堂软件测试10 小时前
学习软件测试需掌握的一些知识
数据库·python·sql·功能测试·网络协议·mysql·http
万化冥合10 小时前
PyBox屏幕键盘如何辅助演示键盘操作?
python·计算机外设