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

Аватар пользователя Aleksey
Aleksey
05 апреля 2023

Предпоследний элемент массива можно получить с помощью библиотеки Lodash:

Пример кода:

const _ = require('lodash');

const arr = [1, 2, 3, 4, 5];
const preLast = _.nth(arr, -2);

console.log(preLast); // 4

В данном примере мы создали массив arr, затем с помощью метода nth и отрицательного индекса -2 нашли предпоследний элемент массива и сохранили его в переменную preLast. Далее мы вывели значение переменной preLast в консоль, которое должно быть равно 4.

0 0
Аватар пользователя Stanislav Dzisiak
Stanislav Dzisiak
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
0 0
Аватар пользователя Кирилл Маркеев
Кирилл Маркеев
18 октября 2022

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

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

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

0 0
Познакомьтесь с основами JavaScript бесплатно