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

requireConsistent2DArray

function requireConsistent2DArray<T>(value: unknown, message?: string): T[][];

Строгий вариант require2DArray: значение должно быть непустым массивом массивов и каждая строка должна быть такой же ширины, как первая.

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

Параметры

Параметр

Тип

Описание

value

unknown

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

message (необязательный)

string

Сообщение исключения. Если не задано, используется сообщение по умолчанию, описывающее расхождение.

Возвращает

T[][] — то же значение с типом двумерного массива.

Исключения

Исключение

Условие

IllegalArgumentException

значение не является непустым массивом массивов.

IllegalArgumentException

строки имеют разную длину.

Примеры

Матрица, которую безопасно записывать

/** * Accepts only a matrix whose rows are all the same width. The default message * names the offending row and both widths. */ export function writeMatrix(sheet: GoogleAppsScript.Spreadsheet.Sheet, values: unknown): void { const rows = requireConsistent2DArray<string>(values); sheet.getRange(1, 1, rows.length, rows[0].length).setValues(rows); }
function writeMatrix(sheet, values) { const rows = requireConsistent2DArray(values); sheet.getRange(1, 1, rows.length, rows[0].length).setValues(rows); }

Сообщение называет проблемную строку

requireConsistent2DArray([ [1, 2], [3, 4] ]); // => [[1, 2], [3, 4]] requireConsistent2DArray([[1, 2], [3]]); // throws IllegalArgumentException: // Expected every row to have 2 columns, but row 1 has 1. requireConsistent2DArray([1, 2], "rows must be a matrix"); // throws IllegalArgumentException: rows must be a matrix

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

Исходный код

src/lang/array/requireConsistent2DArray.ts

23 September 2026

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