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

last

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

Это то, ради чего пишут array[array.length - 1] — выражение, которое на пустом массиве даёт undefined, делая вид, что так и было задумано. last говорит об этом прямо и в том же случае возвращает undefined.

Форма с n берёт элементы с конца, но сохраняет порядок: last([1, 2, 3], 2) — это [2, 3], а не [3, 2]. n ограничивается: отрицательное значение даёт пустой массив, значение больше длины — весь массив. Исходный массив не изменяется.

Параметры

Параметр

Тип

Описание

array

T[]

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

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

number

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

Возвращает

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

Исключения

Исключение

Условие

TypeError

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

TypeError

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

Примеры

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

last([1, 2, 3]); // => 3 last([]); // => undefined last([1, 2, 3], 2); // => [2, 3] — order preserved

Чтение последних записей журнала

/** * Logs the ten newest entries of a log sheet, oldest of the ten first. */ export function logRecentEntries(sheet: GoogleAppsScript.Spreadsheet.Sheet): void { const rows = sheet.getDataRange().getValues().slice(1); for (const row of last(rows, 10)) { Logger.log(row.join(" | ")); } }
function logRecentEntries(sheet) { const rows = sheet.getDataRange().getValues().slice(1); for (const row of last(rows, 10)) { Logger.log(row.join(" | ")); } }

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

last([1, 2], 10); // => [1, 2] last([1, 2], -1); // => [] last([1, 2], 1.5); // throws TypeError: Input 'n' must be an integer.

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

Исходный код

src/lang/array/last.ts

23 September 2026

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