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) на основі вихідного коду бібліотеки.