Как найти предпоследний элемент массива js
Предпоследний элемент массива можно получить с помощью библиотеки 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
.
Получить предпоследний элемент массива можно несколькими способами. Рассмотрим вариант получения элемента зная его индекс:
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
Найти предпоследний элемент массива можно с помощью метода slice()
и оператора spread
:
const arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
console.log(...arr.slice(-2, -1)); // => f
В этом примере сначала метод slice()
возвращает новый массив, который начинается со второго элемента исходного массива с конца и заканчивается на первом с конца элементе исходного массива, не включая этот элемент, то есть состоит из одного, предпоследнего, элемента исходного массива. Далее с помощью spread
оператора извлекаем этот элемент из массива.