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

first

function first<T>(array: T[]): T | undefined; function first<T>(array: T[], n: number): T[]; function first<T>(array: T[], n?: number): T | T[] | undefined;

С одним аргументом first возвращает один элемент, а для пустого массива — undefined, а не исключение: именно это избавляет каждое место вызова от собственной проверки. С указанием количества возвращается новый массив, поэтому две формы не нужно различать во время выполнения.

n ограничивается так же, как в Array#slice: отрицательное число даёт пустой массив, число больше длины — весь массив. Исходный массив не изменяется.

Параметры

Параметр

Тип

Описание

array

T[]

Массив, из которого читаем. Не изменяется.

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

number

Сколько элементов взять. Целое число; опустите, чтобы взять один элемент.

Возвращает

T | T[] | undefined — первый элемент или новый массив не более чем из n элементов.

Исключения

Исключение

Условие

TypeError

array не является массивом.

TypeError

n передан и не является целым числом.

Примеры

Один элемент или несколько

first([1, 2, 3]); // => 1 first([]); // => undefined first([1, 2, 3], 2); // => [1, 2]

Отделение строки заголовков от данных

/** * Splits a sheet into its header row and its data rows, and says so when the * sheet turns out to be empty. */ export function readTable(sheet: GoogleAppsScript.Spreadsheet.Sheet): { header: string[]; rows: string[][]; } { const values = sheet.getDataRange().getValues() as string[][]; const header = first(values); if (!header) { throw new Error("The sheet is empty."); } return { header, rows: values.slice(1) }; }
function readTable(sheet) { const values = sheet.getDataRange().getValues(); const header = first(values); if (!header) { throw new Error("The sheet is empty."); } return { header: header, rows: values.slice(1) }; }

Ограничение количества

first([1, 2], 10); // => [1, 2] — never more than the array holds first([1, 2], -1); // => [] first([1, 2], 1.5); // throws TypeError: Input 'n' must be an integer.

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

Исходный код

src/lang/array/first.ts

23 September 2026

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