惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
GbyAI
GbyAI
aimingoo的专栏
aimingoo的专栏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
月光博客
月光博客
大猫的无限游戏
大猫的无限游戏
M
MIT News - Artificial intelligence
腾讯CDC
博客园 - Franky
Engineering at Meta
Engineering at Meta
C
Check Point Blog
T
The Blog of Author Tim Ferriss
有赞技术团队
有赞技术团队
Microsoft Azure Blog
Microsoft Azure Blog
MyScale Blog
MyScale Blog
I
InfoQ
Blog — PlanetScale
Blog — PlanetScale
P
Proofpoint News Feed
The GitHub Blog
The GitHub Blog
N
Netflix TechBlog - Medium
Last Week in AI
Last Week in AI
S
SegmentFault 最新的问题
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
WordPress大学
WordPress大学

博客园 - 漫思

python使用.env构建开发和生产环境 python项目的构建 nodejs构建CICD时的思考  成为 AI 智能体工程师的 10 个步骤 es6的 yield python 中的 yield 笔记本的A壳 thinkpad 更换 reduce() in Python python的字段赋值和取值的操作 python的语法类似于lodash分组展开,合并分组操作 SelectMany C# lodash 数组的常用做法 lodash里面的常用方法 技术的边界 Reduce 和 Transduce 的含义 尤雨溪创办的 VoidZero 官宣加入 Cloudflare,前端 Vite 等保持开源 Ramda 函数库参考教程 ramda flatmap map object.entity的教程 Map与FlatMap:在数据处理中的区别与联系 flat、flatmap与map的用法区别1 flat、flatmap与map的用法区别 AI不是从天而降,它经历了七十年三起三落:读懂AI的第三课 Agent 17 种架构模式 分析 & 思考 只有踩过坑才懂:前端生成唯一 ID,别用 Date.now ()了!试试它crypto.randomUUID() FastAPI python并发 代码是 AI 写的,生产事故谁背锅? AI Agent 走出 Demo 幻觉的唯一解药:Harness Engineering 高管的 AI 精神病
es 数组的方法
漫思 · 2026-06-06 · via 博客园 - 漫思

数组的方法

flatmap 

some 

every

好,那我直接给你一份高频对比表,先把核心差异记住。

方法对比(是否短路 / 返回值 / 是否改原数组)

  1. some
  • 含义:是否至少一个满足条件
  • 短路:是(找到一个就停)
  • 返回:布尔值
  • 改原数组:否
  1. every
  • 含义:是否全部满足条件
  • 短路:是(遇到一个不满足就停)
  • 返回:布尔值
  • 改原数组:否
  1. find
  • 含义:找第一个满足条件的元素
  • 短路:是
  • 返回:元素或 undefined
  • 改原数组:否
  1. findIndex
  • 含义:找第一个满足条件元素的下标
  • 短路:是
  • 返回:下标或 -1
  • 改原数组:否
  1. filter
  • 含义:筛选出所有满足条件元素
  • 短路:否
  • 返回:新数组
  • 改原数组:否
  1. map
  • 含义:一对一映射成新数组
  • 短路:否
  • 返回:新数组
  • 改原数组:否
  1. reduce
  • 含义:归并成一个值(和、对象、分组等)
  • 短路:否(通常遍历完)
  • 返回:任意类型(由初始值和逻辑决定)
  • 改原数组:否
  1. forEach
  • 含义:遍历执行副作用
  • 短路:否(不能用 break)
  • 返回:undefined
  • 改原数组:看你在回调里是否手动改
  1. includes
  • 含义:是否包含某个值
  • 短路:是(找到就停)
  • 返回:布尔值
  • 改原数组:否

一组最小示例(同一数据)

  • 数组:[1, 3, 5, 8]

  • some(x > 6) -> true

  • every(x > 0) -> true

  • find(x % 2 === 0) -> 8

  • findIndex(x % 2 === 0) -> 3

  • filter(x % 2 === 1) -> [1, 3, 5]

  • map(x * 2) -> [2, 6, 10, 16]

  • reduce((s, x) => s + x, 0) -> 17

  • includes(3) -> true

记忆口诀

  1. 判真假:some / every / includes
  2. 找一个:find / findIndex
  3. 产新数组:map / filter
  4. 汇总一个值:reduce
  5. 只遍历做事:forEach

如果你愿意,我下一条可以给你“面试版陷阱题”,比如 some 和 every 在空数组上的结果为什么不同。