Как найти предпоследний элемент массива 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
Основы Frontend за 14 дней
  • 72 урока в онлайн-тренажере
  • 4 живых вебинара и масскодинг
  • Помощь наставника на весь период обучения

Есть что добавить? Зарегистрируйтесь

или войдите в аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Курсы по программированию в Хекслете

Backend-разработка

Разработка серверной части сайтов и веб-приложений

Frontend-разработка

Разработка внешнего интерфейса сайтов и веб-приложений и верстка

Создание сайтов

Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails

Тестирование

Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP

Аналитика данных

Сбор, анализ и интерпретация данных на Python

Интенсивные курсы

Интенсивное обучение для продолжающих

DevOps

Автоматизация настройки локального окружения и серверов, развертывания и деплоя

Веб-разработка

Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков

Математика для программистов

Обучение разделам математики, которые будут полезны при изучении программирования

JavaScript

Разработка сайтов и веб-приложений и автоматизированное тестирование на JS

Python

Веб-разработка, автоматическое тестирование и аналитика данных на Python

Java

Веб-разработка и автоматическое тестирование на Java

PHP

Веб-разработка и автоматическое тестирование на PHP

Ruby

Разработка сайтов и веб-приложений на Ruby on Rails

Go

Курсы по веб-разработке на языке Go

HTML

Современная верстка с помощью HTML и CSS

SQL

Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД

Git

Система управления версиями Git, регулярные выражения и основы командой строки