chunk
将数组分割成指定大小的块
输入配置
原始数组
12345678910
分块结果
块 1
123
块 2
456
块 3
789
块 4
10
函数签名
typescript
function chunk<T>(array: T[], size: number): T[][]参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
array | T[] | 是 | 要分割的数组 |
size | number | 是 | 每块的大小,必须大于 0 |
返回值
| 类型 | 说明 |
|---|---|
T[][] | 分割后的二维数组 |
异常
| 错误类型 | 触发条件 | 错误信息 |
|---|---|---|
Error | size <= 0 | 'Chunk size must be greater than 0' |
工作原理
- 验证块大小必须大于 0
- 从索引 0 开始,每次取 size 个元素
- 使用
slice方法提取子数组 - 将每个子数组添加到结果数组
- 继续直到遍历完整个数组
使用示例
基本用法
typescript
const numbers = [1, 2, 3, 4, 5, 6, 7, 8]
chunk(numbers, 3)
// [[1, 2, 3], [4, 5, 6], [7, 8]]
chunk(numbers, 5)
// [[1, 2, 3, 4, 5], [6, 7, 8]]分页应用
typescript
const items = Array.from({ length: 100 }, (_, i) => i + 1)
const pageSize = 10
const pages = chunk(items, pageSize)
// 生成 10 页,每页 10 个元素