Как найти предпоследний элемент массива js

Ответы
Аватар пользователя Станислав Дзисяк
Станислав Дзисяк
20 октября 2021

Получить предпоследний элемент массива можно несколькими способами. Рассмотрим вариант получения элемента зная его индекс:

const arr  = [1, 2, 3, 4, 5, 6, 7];
// получаем индекс предпоследнего элемента в массиве
// это длина массива минус два,
// так как индексация элементов в массиве начинается с нуля
const index = arr.length - 2;
// получаем значение предпоследнего элемента
arr[index]; // 6

Также при использовании node.js версии 16 и выше можно воспользоваться встроенным методом at() указав смещение индекса относительно конца. В предыдущем примере видно, что смещение индекса будет равно -2. Пример будет выглядеть так:

const arr  = [1, 2, 3, 4, 5, 6, 7];
// получаем значение предпоследнего элемента используя смещение -2
arr.at(-2); // 6
// или использовать значение индекса по аналогии с предыдущим примером
const index = arr.length - 2;
arr.at(index); // 6
Аватар пользователя Кирилл Маркеев
Кирилл Маркеев
18 октября 2022

Найти предпоследний элемент массива можно с помощью метода slice() и оператора spread:

const arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
console.log(...arr.slice(-2, -1)); // => f

В этом примере сначала метод slice() возвращает новый массив, который начинается со второго элемента исходного массива с конца и заканчивается на первом с конца элементе исходного массива, не включая этот элемент, то есть состоит из одного, предпоследнего, элемента исходного массива. Далее с помощью spread оператора извлекаем этот элемент из массива.

Добавьте ваш ответ

Рекомендуемые курсы

классы
инкапсуляция
контекст
прототипы
15 часов
Посмотреть
промисы
event loop
обработка ошибок
таймеры
18 часов
Посмотреть
полифиллы
AJAX
события
селекторы
20 часов
Посмотреть