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

is2DArray

function is2DArray(arr: unknown): arr is Array<Array<unknown>>;

C'est la forme que renvoie Range#getValues et celle qu'attend Range#setValues: des lignes faites de cellules. is2DArray ne répond qu'à la question de la forme — l'égalité des longueurs de ligne relève de isConsistent2DArray.

Un tableau vide n'est pas bidimensionnel ici : il n'y a aucune ligne à examiner, et traiter [] comme une matrice est exactement ce qui laisse un résultat vide filer jusqu'à un appel setValues qui échoue ensuite. Rien d'autre n'est examiné, une matrice de types mélangés passe donc la vérification.

Paramètres

Paramètre

Type

Description

arr

unknown

La valeur à vérifier.

Valeur de retour

boolean — true si la valeur est un tableau non vide dont chaque élément est un tableau ; sinon false.

En TypeScript, le garde restreint arr à Array<Array<unknown>> dans la branche.

Exemples

Ce qui compte comme bidimensionnel

is2DArray([[1, 2], [3]]); // => true — ragged, but still 2D is2DArray([[1], 2]); // => false — one element is not an array is2DArray([]); // => false — no rows is2DArray("abc"); // => false

Protéger une valeur qui pourrait être une matrice

/** * Counts the cells of a value that may or may not be a matrix. Inside the * guard the value is narrowed to `Array<Array<unknown>>`. */ export function countCells(value: unknown): number { if (!is2DArray(value)) { return 0; } return value.reduce((total: number, row: unknown[]): number => total + row.length, 0); }
function countCells(value) { if (!is2DArray(value)) { return 0; } return value.reduce((total, row) => total + row.length, 0); }

Voir aussi

Code source

src/lang/array/is2DArray.ts

23 September 2026

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