apps-script-utils (Français) 2.1.1 Help

chunk

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

chunk parcourt le tableau une seule fois et le découpe en groupes de size éléments. Quand la longueur ne tombe pas juste, le dernier groupe contient le reste et se trouve plus court que les autres. Le tableau d'entrée n'est jamais modifié.

Les deux arguments sont validés avant tout travail : une entrée qui n'est pas un tableau, ou un size fractionnaire, lèvent une erreur plutôt que de produire un résultat discrètement faux. Un size nul ou négatif, comme une entrée vide, donnent [] et non des groupes vides.

Paramètres

Paramètre

Type

Description

array

T[]

Le tableau à découper. Il n'est pas modifié.

size (facultatif) = 1

number

La longueur de chaque groupe. Un entier ; 1 par défaut.

Valeur de retour

Array<T[]> — un nouveau tableau de groupes. Tous sauf le dernier contiennent exactement size éléments.

Exceptions

Exception

Condition

TypeError

array n'est pas un tableau.

TypeError

size n'est pas un entier.

Exemples

Découper en groupes de taille fixe

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

Écrire une grande plage par lots

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

Cas limites

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.

Voir aussi

Code source

src/lang/array/chunk.ts

23 September 2026

Cette documentation a été générée par une IA (Claude) à partir du code source de la bibliothèque.