何时使用 `for...of` 循环优于 `reduce()`

发布日期:2026-07-08 10:04:04   浏览量 :7
发布日期:2026-07-08 10:04:04  
7

几年前,我痴迷于 reduce()

每个问题看起来都像是一个归约问题。

需要查找表吗?

users.reduce(...)

需要分组吗?

users.reduce(...)

需要过滤吗?

users.reduce(...)

需要转换吗?

users.reduce(...)

需要世界和平?

可能是:

world.reduce(...)

最终我意识到了一些事情。

问题不在于 reduce()

问题在于我。

因为虽然 reduce() 功能极其强大,但许多开发者最终会进入这样一个阶段:他们开始问一个更重要的问题:

我在这里真的应该使用 reduce() 吗?

而且令人惊讶的是,答案往往是:

不。

有时一个简单的:

for...of

更易于阅读。

更易于调试。

更快。

并且归根结底是更好的工程选择。

过度喜爱 reduce() 的问题

开发者经常发现:

reduce()

并突然意识到:

它可以做任何事。

这没错。

问题在于:

能做所有事

≠

应该做所有事

考虑一下:

const usersById =
  users.reduce(
    (acc, user) => {
      acc[user.id] = user
      return acc
    },
    {}
  )

很合理。

许多团队都会接受这种写法。

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据