apps-script-utils (Deutsch) 2.1.1 Help

chunk

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

chunk durchläuft das Array einmal und schneidet es in Gruppen von size Elementen. Geht die Länge nicht auf, enthält die letzte Gruppe den Rest und ist kürzer als die übrigen. Das Eingabe-Array bleibt unverändert.

Beide Argumente werden geprüft, bevor gearbeitet wird: eine Nicht-Array-Eingabe oder ein gebrochenes size führen zu einer Ausnahme statt zu einem still falschen Ergebnis. Ein size von null oder kleiner und ein leeres Array ergeben [], keine Gruppen aus leeren Gruppen.

Parameter

Parameter

Typ

Beschreibung

array

T[]

Das zu teilende Array. Bleibt unverändert.

size (optional) = 1

number

Die Länge jeder Gruppe. Eine ganze Zahl; Standardwert 1.

Rückgabewert

Array<T[]> — ein neues Array aus Gruppen. Alle Gruppen außer der letzten enthalten genau size Elemente.

Ausnahmen

Ausnahme

Bedingung

TypeError

array ist kein Array.

TypeError

size ist keine ganze Zahl.

Beispiele

Aufteilen in Gruppen fester Größe

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

Einen großen Bereich in Portionen schreiben

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); } }

Randfälle

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.

Siehe auch

Quellcode

src/lang/array/chunk.ts

23 September 2026

Diese Dokumentation wurde mit KI (Claude) aus dem Quellcode der Bibliothek erzeugt.