# 📡【前端技术雷达】2024年9月第4周
# 实用的JS对象分组静态方法Object.groupBy() (opens new window)
Object.groupBy()
是一种新的静态方法,用于根据某个键对对象数组进行分组。所有现代浏览器都已经支持该方法,Safari 最晚支持于 2024 年 4 月。
使用示例:可以通过以下代码对对象数组进行分组:
const data = [ { id: 1, name: '张三' }, { id: 3, name: '李四' }, { id: 4, name: '王二' }, { id: 2, name: '张三' } ]; const result = Object.groupBy(data, ({ name }) => name); console.log(result);
输出结果为:
{ "张三": [{ id: 1, name: '张三' }, { id: 2, name: '张三' }], "李四": [{ id: 3, name: '李四' }], "王二": [{ id: 4, name: '王二' }] }
方法用法为
Object.groupBy(items, callbackFn)
,其中items
是被分组的对象数组,callbackFn
是用于提取分组键的函数。提供了 Polyfill 代码,以支持旧版浏览器。
该方法在实际项目中的应用,能够简化数据处理,减少额外的分组逻辑。
# JavaScript Weekly (opens new window)
Oracle, It’s Time to Free JavaScript.
- Oracle拥有“JavaScript”商标长期以来引发争议。
- 这是首次认真尝试改变这一点,必要时将向USPTO提出申请。
- 支持者可通过签署公开信参与,众多JavaScript知名人士已加入。
Bun的创建者表示
- 这是“一个我上个月星期六偶然开发的功能,纯粹是为了好玩”。
ts-blank-space: Fast Type-Stripping TypeScript to JS Compiler
- 旨在成为最快的TS到JS编译器(比
tsc
快5.6倍)。 - 类型被简单地替换为空格,保留JS代码的坐标,消除对sourcemaps的需求。
- 旨在成为最快的TS到JS编译器(比
简要发布
- Fastify v5: 受Express启发的Node.js高性能网络框架。
- Astro 5 Beta: Astro继续推出v5.0版本。
- Node.js v22.9: 新增
util.getCallSite
函数以获取当前执行的堆栈跟踪。 - Hono 4.6: 新增上下文存储中间件的“任何运行时”Web应用框架。
ViteConf在10月3日举行
- StackBlitz将在ViteConf '24的主题演讲中提升标准,值得期待。
React 19 Cheat Sheet
- Kent C Dodds提供的React 19新特性速查表,附带简短代码示例。
ts-remove-unused: 从TypeScript项目中删除未使用的代码
- 工具可自动修复未使用的导出,删除无引用导出的模块。
# Node Weekly (opens new window)
Execa v9.4.0 发布,提供更完整的体验。
观看一段名为《从 Node.js 到 Deno:一切是如何开始的》的九分钟短片,讲述了 Deno 的起源,适合快速了解替代 JavaScript 运行时的动机。
Memetria 提供安全、可扩展的 Redis 托管,具有大键追踪和详细性能指标等功能,提升开发体验。
JavaScript 社区呼吁 Oracle 发布 JavaScript 商标,欢迎大家参与签署公开信。
ViteConf 将于 10 月 3 日举行,StackBlitz 将在大会上进行主题演讲,期待精彩内容。