Функция, извлекающая расширение из имени файла

Возьмите часть после последней точки, если точка не первая и не последняя в имени. Для файла без расширения верните пустую строку.

Короткий ответ

Что ответить на собеседовании

Возьмите часть после последней точки, если точка не первая и не последняя в имени. Для файла без расширения верните пустую строку.

Подробный разбор

Ответ с пояснениями

Условие

Создайте функцию, принимающую строку с именем файла и возвращающую его расширение.

Ответ

Возьмите часть после последней точки, если точка не первая и не последняя в имени. Для файла без расширения верните пустую строку.

function extension(filename) {
  const index = filename.lastIndexOf('.');
  return index > 0 && index < filename.length - 1 ? filename.slice(index + 1) : '';
}

photo.jpg даёт jpg, archive.tar.gz — gz, .gitignore и file. — пустую строку. Здесь вход — именно имя файла, не полный URL или путь; путь сначала нужно разобрать отдельно. Регистр расширения сохраняется. Для составных расширений вроде tar.gz требуется заранее оговорённый список или другая политика.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее