Skip to content

chunk

将数组分割成指定大小的块

输入配置

原始数组

12345678910

分块结果

块 1
123
块 2
456
块 3
789
块 4
10

函数签名

typescript
function chunk<T>(array: T[], size: number): T[][]

参数

参数名类型必填说明
arrayT[]要分割的数组
sizenumber每块的大小,必须大于 0

返回值

类型说明
T[][]分割后的二维数组

异常

错误类型触发条件错误信息
Errorsize <= 0'Chunk size must be greater than 0'

工作原理

  1. 验证块大小必须大于 0
  2. 从索引 0 开始,每次取 size 个元素
  3. 使用 slice 方法提取子数组
  4. 将每个子数组添加到结果数组
  5. 继续直到遍历完整个数组

使用示例

基本用法

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 个元素