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

isConsistent2DArray

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

Эту проверку стоит делать перед Range#setValues, который отвергает рваную матрицу сообщением, не называющим ни проблемную строку, ни причину. Всё, что требует is2DArray, должно выполняться и здесь — непустой массив массивов, — плюс правило, что каждая строка такой же ширины, как первая.

Параметры

Параметр

Тип

Описание

arr

unknown

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

Возвращает

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

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

Примеры

Ровные строки, рваные строки и не-матрицы

isConsistent2DArray([ [1, 2], [3, 4] ]); // => true isConsistent2DArray([[1, 2], [3]]); // => false — rows differ in length isConsistent2DArray([1, 2]); // => false — not 2D at all isConsistent2DArray([]); // => false

Перед записью в диапазон

/** * Writes a matrix to a sheet, refusing a ragged one with a message that says * what is wrong — which `setValues` itself does not. */ export function write(sheet: GoogleAppsScript.Spreadsheet.Sheet, rows: unknown): void { if (!isConsistent2DArray(rows)) { throw new Error("Every row must have the same number of columns."); } sheet.getRange(1, 1, rows.length, rows[0].length).setValues(rows); }
function write(sheet, rows) { if (!isConsistent2DArray(rows)) { throw new Error("Every row must have the same number of columns."); } sheet.getRange(1, 1, rows.length, rows[0].length).setValues(rows); }

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

Исходный код

src/lang/array/isConsistent2DArray.ts

23 September 2026

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