apps-script-utils (Українська) 2.1.1 Help

chunk

function chunk<T>(array: T[], size: number = 1): Array<T[]>;

chunk проходить масив один раз і нарізає його на групи по size елементів. Якщо довжина не ділиться націло, остання група отримує залишок і виходить коротшою за решту. Вихідний масив не змінюється.

Обидва аргументи перевіряються до початку роботи: не масив на вході або дробовий size призводять до винятку, а не до тихо хибного результату. size, що дорівнює нулю або менший, і порожній масив дають [], а не групи з порожніх масивів.

Параметри

Параметр

Тип

Опис

array

T[]

Масив, який потрібно розділити. Не змінюється.

size (необов'язковий) = 1

number

Довжина кожної групи. Ціле число; типово 1.

Повертає

Array<T[]> — новий масив груп. Усі групи, крім останньої, містять рівно size елементів.

Винятки

Виняток

Умова

TypeError

array не є масивом.

TypeError

size не є цілим числом.

Приклади

Розбиття на групи фіксованого розміру

chunk(["a", "b", "c", "d"], 2); // => [["a", "b"], ["c", "d"]] chunk(["a", "b", "c", "d", "e"], 2); // => [["a", "b"], ["c", "d"], ["e"]]

Запис великого діапазону частинами

A single setValues call with tens of thousands of rows is the usual cause of an exceeded execution time. Splitting the data keeps each call small and each write independently recoverable.

/** * Appends rows in batches, so that one oversized `setValues` call cannot * exhaust the execution time limit. */ export function appendRows(sheet: GoogleAppsScript.Spreadsheet.Sheet, rows: string[][]): void { for (const batch of chunk(rows, 500)) { sheet.getRange(sheet.getLastRow() + 1, 1, batch.length, batch[0].length).setValues(batch); } }
function appendRows(sheet, rows) { for (const batch of chunk(rows, 500)) { sheet.getRange(sheet.getLastRow() + 1, 1, batch.length, batch[0].length).setValues(batch); } }

Крайні випадки

chunk([1, 2, 3]); // => [[1], [2], [3]] — size defaults to 1 chunk([], 2); // => [] chunk([1, 2, 3], 0); // => [] chunk("a,b,c", 2); // throws TypeError: Input 'array' must be an array. chunk([1, 2, 3], 1.5); // throws TypeError: Input 'size' must be an integer.

Дивіться також

Вихідний код

src/lang/array/chunk.ts

23 September 2026

Цю документацію згенеровано нейромережею (Claude) на основі вихідного коду бібліотеки.