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

non2DArray

function non2DArray<T>(arr: T | Array<Array<unknown>>): arr is T;

non2DArray(value) — та же проверка, что и !is2DArray(value). Префикс существует ради того, чтобы охранное условие читалось как утверждение, а не как отрицание — смотрите Соглашения о проверках.

Пустой массив считается «не двумерным», потому что is2DArray требует хотя бы одной строки.

Оговорка о типах: страж объявлен как type predicate, но сужение работает только тогда, когда в типе самого значения уже присутствует случай unknown[][]. В ветке, где значение всё-таки является матрицей, TypeScript оставляет never, а не тип матрицы, поэтому для дальнейшей работы с матрицей берите is2DArray или require2DArray. Как логический ответ non2DArray точен всегда.

Параметры

Параметр

Тип

Описание

arr

T \| Array<Array<unknown>>

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

Возвращает

boolean — true, если значение не является непустым массивом массивов; иначе false.

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

Примеры

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

non2DArray([1, 2]); // => true — flat non2DArray([]); // => true — no rows non2DArray("abc"); // => true non2DArray([[1], [2]]); // => false

Сообщение о причине отказа

/** * Validates the shape of a value before it reaches `setValues`, and returns * the reason it was rejected rather than throwing. */ export function validateShape(rows: unknown): string | null { if (non2DArray(rows)) { return "Expected a matrix: a non-empty array of rows."; } if (nonConsistent2DArray(rows)) { return "Every row must have the same number of columns."; } return null; }
function validateShape(rows) { if (non2DArray(rows)) { return "Expected a matrix: a non-empty array of rows."; } if (nonConsistent2DArray(rows)) { return "Every row must have the same number of columns."; } return null; }

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

Исходный код

src/lang/array/non2DArray.ts

23 September 2026

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