Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как получить последний элемент массива

Короткий ответ

Метод 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 — Возвращает часть массива.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.