Получение последнего элемента разделенной строки в JavaScript

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Для того чтобы извлечь последний элемент массива из строки, разделённой определённым символом, вам пригодятся методы split() и pop():

JS
Скопировать код
let last = "a,b,c".split(",").pop(); // "c" возникнет как по магии!

Вам не потребуются циклы, pop() выдает на подносе последний элемент после разделения строки. Если элементы строки разделены разными символами, например, запятыми и пробелами, используйте регулярное выражение:

JS
Скопировать код
let last = "a, b c".split(/[, ]+/).pop(); // "c" появляется снова!

Такой подход не позволит лишним разделителям впутываться в работу и откладывать выдачу последнего элемента.

Кинга Идем в IT: пошаговый план для смены профессии

Подробное описание методов

Если разделители скрываются

Когда приходится разбивать строку на компоненты с использованием нескольких символов, таких как запятые и пробелы, будут полезны регулярные выражения:

JS
Скопировать код
let fancyString = "one, two three".split(/[, ]+/).pop(); // "three" элегантно завершает цепочку

Теперь в регулярное выражение (/[, ]+/) вписываются запятые и пробелы.

Подробнее об этом расскажет наш спикер на видео
skypro youtube speaker

Заботимся о нестандартной ситуации

В случае отсутствия разделителей в строке, следующая функция не обманет ваши ожидания:

JS
Скопировать код
function lonelyAtTheParty(str) {
  let parts = str.split(/[, ]+/);
  return parts.length > 1 ? parts.pop() : str; // Вы получите последнее слово, даже без разделителей
}

Очищаем строку перед обработкой

Если строку окружают пробелы, сначала уберите их:

JS
Скопировать код
let cleanedString = " a, b, c ".trim().split(/[, ]+/).pop(); // "c" предстанет во все своем великолепии!

Менее привычные подходы

Позаботимся о целостности

Хотите извлечь последний элемент, сохранив массив при этом нетронутым? Воспользуйтесь следующим методом:

JS
Скопировать код
let preserved = arr.slice(-1)[0]; // Волшебство копирования! Показать последний элемент без изменения исходного массива

Избегаем последствий переворота

Не стоит использовать reverse()[0] для получения последнего элемента, потому что этот метод:

  • Переворачивает исходный массив, что, скорее всего, вам не понадобится.
  • Малоэффективен при работе с большими массивами.

Экзаменуем под открытым капотом

Тестирование различных вариантов с помощью console.log() будет очень полезно:

JS
Скопировать код
console.log(getTheToast("test1, test2, test3")); // "test3" — здесь главное действующее лицо!

Чтобы взаимодействовать с пользовательским интерфейсом, используйте alert(thingToAlert).

Визуализация

Представьте строку в виде поезда, а разделение строки как отцепление вагонов. Вас интересует только последний вагон:

Markdown
Скопировать код
Наше путешествие выглядит так:

До: [Локомотив, Вагон1, Вагон2, ПоследнийВагон] // Все на борт!
После: ПоследнийВагон // Последний вагон отправляется в путь!

Для извлечения последнего вагона:

JS
Скопировать код
let lastCoach = coaches[coaches.length – 1]; // Не забудьте про математику!

Иными словами:

Markdown
Скопировать код
| Действие                | Что происходит?                 | Используемый код     |
| ----------------------- | -------------------------------- | -------------------- |
| Разделение строки       | Отцепляем ненужные вагоны        | `.split("-")`        |
| Получение последнего   | Обозначаем последний вагон       | `coaches.length`     |

И вы достигаете конечной цели в виде последнего вагона? Вот он ваш последний элемент, всё идёт по плану! 🥳

Полезные материалы

  1. MDN про split() — Познакомьтесь более подробно с методом split() на MDN.
  2. Учебник от W3School's — Возможность попробовать разные примеры в интерактивной среде.
  3. Функции с массивами — Расширьте свой кругозор по функциям работы с массивами.
  4. Понимание массивов в JavaScript — Прочтите этот гайд для лучшего понимания концепции массивов.
  5. Обсуждение на Stack Overflow — Погрузитесь в более глубокое исследование управления элементами массива.
Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей
Какой метод используется для разделения строки на массив?
1 / 5
Свежие материалы