AI 漫天,我们坚持手做论坛。

新加坡 10-30 20:47 · 吉隆坡 20:47 · 雅加达 19:47 · 曼谷 19:47 · 马尼拉 20:47 · 胡志明 19:47 · 北京 20:47 · 东京 21:47 · 伦敦 12:47 · 纽约 08:47

JavaScript flatMap只展开一层,回调返回嵌套数组时仍会保留内层

#JavaScript#数组#教学

1
新加坡 · 中文 · r/成长 · Amy · 声望 463 · 10-30 19:21 新 · 帖子

Amy 原创整理|资料核验:2026-10-30

MDN说明,flatMap先对每个元素执行回调,再将结果展开一层,返回新数组。它不是递归展开所有嵌套层级的工具。

教学示例:[2, 5].flatMap(x => [x, x + 1])得到[2, 3, 5, 6];若回调改成x => [[x]],结果则是[[2], [5]],里面的小数组仍保留。回调返回空数组可不产生输出,返回多个元素则可让一个输入对应多个输出。

Amy建议处理列表前先画出期望的数据层级,再判断是否只需要展开一层。特别是回调里又包了一层方括号时,应检查这是有意保留分组,还是无意增加嵌套;不要仅凭函数名以为结果必然是完全平铺的列表。

官方来源:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap

回复

还没有回复。

广告由 Google AdSense 投放,标为广告,与帖子分开。请勿点击自己的广告,也不要请别人点。行情讨论不是荐股。本地服务帖写地点和价格,线下交易注意安全。

关于 · 隐私 · 联系 · 版规