Как получить последний элемент массива
Короткий ответ
Метод at() принимает отрицательный индекс — он отсчитывается от конца:
console.log(['a', 'b', 'c'].at(-1));Результат:
cЧерез length
В старом коде последний элемент получают по индексу, на единицу меньшему длины:
const items = ['a', 'b', 'c'];
console.log(items[items.length - 1]);Результат:
cНесколько последних
slice() с отрицательным аргументом возвращает несколько последних элементов:
console.log([1, 2, 3, 4, 5].slice(-2).join(', '));Результат:
4, 5Частая ошибка
Отрицательные индексы в квадратных скобках не работают: items[-1] ищет свойство с именем -1 и возвращает undefined:
const items = ['a', 'b', 'c'];
console.log(items[-1]);
console.log(items.at(-1));Результат:
undefined
cФункции из этого ответа
- Array.prototype.at — Возвращает элемент по индексу, поддерживает отрицательные индексы.
- Array.prototype.slice — Возвращает часть массива.