Ответ
Title Case (регистр заголовка) — это стиль форматирования текста, при котором первая буква каждого слова пишется в верхнем регистре, а остальные — в нижнем. Часто используется для заголовков, названий и заголовков элементов интерфейса.
Базовая реализация на JavaScript:
function toTitleCase(str) {
if (!str) return '';
return str
.toLowerCase() // Приводим всю строку к нижнему регистру
.split(' ') // Разбиваем на слова по пробелам
.map(word => word.charAt(0).toUpperCase() + word.slice(1)) // Капитализируем каждое слово
.join(' '); // Собираем обратно в строку
}
// Примеры использования:
console.log(toTitleCase('hello world')); // "Hello World"
console.log(toTitleCase('tEsT sTrInG')); // "Test String"
console.log(toTitleCase('javascript is awesome')); // "Javascript Is Awesome"
Улучшенная версия (обработка апострофов и специальных символов):
function toTitleCaseEnhanced(str) {
return str.toLowerCase().replace(/bw/g, char => char.toUpperCase());
}
console.log(toTitleCaseEnhanced("o'reilly and mcdonald's")); // "O'Reilly And Mcdonald'S"
Важное замечание: Простая реализация не учитывает исключения (артикли, предлоги), которые в строгих стилях (например, APA, Chicago) могут оставаться в нижнем регистре. Для этого потребуется более сложная логика со списком слов-исключений.