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 小时前
LLM系列:3.nlp基础入门:nlp与循环神经网络夏沫琅琊1 小时前
Mac 上用 Homebrew 安装 DB Browser for SQLite 时,被 Homebrew 自动更新卡住了m0_740796361 小时前
mysql如何通过脚本自动化创建用户_使用shell配合mysql命令会编程的土豆1 小时前
Gin 框架第一课:从 0 搞懂 Gin 最基础的路由雨浓YN1 小时前
GKTGD 工业监控系统-02MySQL 数据库技术文档(类库:NET8_SQLData)dFObBIMmai1 小时前
JavaScript中对象生命周期与垃圾回收的引用关系2401_824697661 小时前
Go语言怎么格式化时间_Go语言time.Format教程【详解】2303_821287381 小时前
HTML函数在低背光键盘上编写困难吗_输入设备舒适度说明【介绍】爱喝水的鱼丶1 小时前
SAP-ABAP:ABAP Development Tools(ADT)安装配置学习分享教程(四篇连载)第四篇:ADT连接故障排查与环境迁移教程