Object.groupBy() 一行代码实现数组分组,支持按字段或自定义逻辑生成分组键,返回以键为属性名、对应元素数组为值的对象。
直接用 Object.groupBy() 就行,一行代码搞定分组,不用再写冗长的 reduce。
适合大多数基础场景,比如按状态、角色、类型等字符串字段归类。
user => user.role 或 order => order.status
不只是取字段,还能做判断、格式化、组合等处理,让分组更贴合业务需求。
toString()
如果项目还需支持旧版浏览器或 Node.js 低版本,加个轻量 polyfill 即可无缝使用。
if (!Object.groupBy)
reduce 模拟实现,核心逻辑就是 acc[key] ??= [] 再 .push(item)
core-js 等成熟垫片库,避免自己维护边界情况当分组键不是字符串,而是对象、函数、Symbol 或 null/undefined 时,Object.groupBy 会失效(因为对象属性名只能是字符串或 Symbol,且 Symbol 不会自动匹配)。
Map.groupBy(),它支持任意类型的键,并返回 Map 实例new Date().getFullYear() 这类可能为数字的值分组Map.groupBy(items, item => item.category)
谈一谈企业为什么需要 `RAG` 知识库?
Claude Code配置智谱GLM-4.7 模型完整操作文档实用指南
第4周行业复盘总结:AI + Web3 四大落地场景的关键教训与可复用架构模式
非结构化数据用什么数据库好?Redis 和 MongoDB 如何选?阿里云瑶池数据库 Tair 与 Lindorm 方案
小米路由器4c(r4cm)是5g还是2.4g(小米路由器4C(R4CM)支持5G和2.4G吗)
毕业老学长给我留的最后一句话是:“AI 写的,别挂我名。” 我直接 神(Trae + Seed Evolving) 来!助我!