Возьмите часть после последней точки, если точка не первая и не последняя в имени. Для файла без расширения верните пустую строку.
Функция, извлекающая расширение из имени файла
Возьмите часть после последней точки, если точка не первая и не последняя в имени. Для файла без расширения верните пустую строку.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Создайте функцию, принимающую строку с именем файла и возвращающую его расширение.
Ответ
Возьмите часть после последней точки, если точка не первая и не последняя в имени. Для файла без расширения верните пустую строку.
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 требуется заранее оговорённый список или другая политика.