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

requireConsistent2DArray

function requireConsistent2DArray<T>(value: unknown, message?: string): T[][];

La contrepartie stricte de require2DArray: la valeur doit être un tableau non vide de tableaux et chaque ligne doit être aussi large que la première.

Quand les lignes diffèrent, le message par défaut indique la ligne fautive et les deux largeurs — l'information nécessaire pour corriger l'appel, et précisément ce que Range#setValues tait en rejetant une matrice irrégulière. Un message personnalisé remplace le message par défaut dans les deux cas d'échec.

Paramètres

Paramètre

Type

Description

value

unknown

La valeur à valider.

message (facultatif)

string

Le message de l'exception. À défaut, un message par défaut décrit l'écart.

Valeur de retour

T[][] — la même valeur, typée comme tableau bidimensionnel.

Exceptions

Exception

Condition

IllegalArgumentException

la valeur n'est pas un tableau non vide de tableaux.

IllegalArgumentException

les lignes n'ont pas toutes la même longueur.

Exemples

Une matrice qu'on peut écrire sans risque

/** * Accepts only a matrix whose rows are all the same width. The default message * names the offending row and both widths. */ export function writeMatrix(sheet: GoogleAppsScript.Spreadsheet.Sheet, values: unknown): void { const rows = requireConsistent2DArray<string>(values); sheet.getRange(1, 1, rows.length, rows[0].length).setValues(rows); }
function writeMatrix(sheet, values) { const rows = requireConsistent2DArray(values); sheet.getRange(1, 1, rows.length, rows[0].length).setValues(rows); }

Le message nomme la ligne fautive

requireConsistent2DArray([ [1, 2], [3, 4] ]); // => [[1, 2], [3, 4]] requireConsistent2DArray([[1, 2], [3]]); // throws IllegalArgumentException: // Expected every row to have 2 columns, but row 1 has 1. requireConsistent2DArray([1, 2], "rows must be a matrix"); // throws IllegalArgumentException: rows must be a matrix

Voir aussi

Code source

src/lang/array/requireConsistent2DArray.ts

23 September 2026

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