apps-script-utils (Русский) 2.1.1 Help

is2DArray

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

Это форма, которую возвращает Range#getValues и которую ожидает Range#setValues: строки, состоящие из ячеек. is2DArray отвечает только на вопрос о форме — одинаковую ли длину имеют строки, проверяет isConsistent2DArray.

Пустой массив здесь не считается двумерным: строк для проверки нет, а если считать [] матрицей, пустой результат незаметно дойдёт до setValues и там упадёт. Больше ничего об элементах не проверяется, поэтому матрица из значений разных типов проходит.

Параметры

Параметр

Тип

Описание

arr

unknown

Проверяемое значение.

Возвращает

boolean — true, если значение — непустой массив и каждый его элемент является массивом; иначе false.

В TypeScript внутри ветки значение arr сужается до Array<Array<unknown>>.

Примеры

Что считается двумерным массивом

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

Защита значения, которое может оказаться матрицей

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

Смотрите также

Исходный код

src/lang/array/is2DArray.ts

23 September 2026

Эта документация сгенерирована нейросетью (Claude) на основе исходного кода библиотеки.