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

nonConsistent2DArray

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

nonConsistent2DArray(value) — та же проверка, что и !isConsistent2DArray(value), записанная так, чтобы охранное условие читалось слева направо — смотрите Соглашения о проверках.

Как и non2DArray, эту функцию стоит использовать ради логического ответа: после проверки TypeScript не отдаёт пригодный к работе тип матрицы. Проверяет и возвращает матрицу requireConsistent2DArray.

Функция возвращает true в двух разных ситуациях: матрица со строками разной длины и значение, которое матрицей вообще не является. По результату их не различить, поэтому, когда разница важна, используйте non2DArray.

Параметры

Параметр

Тип

Описание

arr

T \| Array<Array<unknown>>

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

Возвращает

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

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

Примеры

Оба случая отказа

nonConsistent2DArray([[1, 2], [3]]); // => true — ragged nonConsistent2DArray([1, 2]); // => true — not 2D nonConsistent2DArray([ [1, 2], [3, 4] ]); // => false

Как различить эти случаи

/** * Tells the two failure cases apart: not a matrix at all, versus a matrix * whose rows differ in length. */ export function describeShape(rows: unknown): string { if (non2DArray(rows)) { return "not a matrix"; } if (nonConsistent2DArray(rows)) { return "a matrix, but the rows differ in length"; } return "ready for setValues"; }
function describeShape(rows) { if (non2DArray(rows)) { return "not a matrix"; } if (nonConsistent2DArray(rows)) { return "a matrix, but the rows differ in length"; } return "ready for setValues"; }

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

Исходный код

src/lang/array/nonConsistent2DArray.ts

23 September 2026

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