iterator chunking S3
中文标题:迭代器分块
提案概览
- 阶段: Stage 3
- 状态: 进行中
- ECMAScript 版本: —
- 同步时间: 2026年8月26日
- English original · 官方仓库
提案速览
该提案为迭代器添加了 chunks() 和 windows() 方法,用于按给定大小消费非重叠和重叠的子序列。它涵盖了广泛的使用场景,如分页、批处理和滑动窗口计算。
Note
以下 README 来自上游仓库,其中的阶段或状态标注可能滞后;当前信息以提案概览为准。
迭代器分块
一个 TC39 提案,用于将迭代器按可配置的大小消费为重叠或非重叠的子序列。
阶段: 3。进一步推进取决于 2 个或更多已实现的实现。
规范: https://tc39.es/proposal-iterator-chunking/
向委员会提交的演示
动机
有时需要一次消费一个流中的多个值。例如,某些算法需要查看相邻元素。
分块
对于非重叠子序列,通常通过“分块”方法解决,其工作方式如下:
分块的用例
- 分页
- 列式/网格布局,如日历
- 批量/流式处理
- 矩阵运算
- 格式化/编码
- 分桶(使用计算的分块大小,适用于已知大小的迭代器)
滑动窗口
当需要重叠序列时,这通常被称为“滑动窗口”。
滑动窗口的用例
- 运行/连续计算,如平均值
- 上下文敏感算法,如成对比较
- 轮播及其类似物(当应用于无限循环时)