У меня программа, которая должна делать все слова с большой буквы. Я написал версию, которая делает слова с заглавной после первого слова. Надо сделать так, чтобы еще первое слово было с большой :
var word = prompt('Какие слова вам сделать с большой буквы? ');
var wordEnd = '';
for(i = 0; i < word.length; i++){
wordEnd += (word[i - 1] == " " || word[i -1] == "") ? word[i].toUpperCase() : word[i];
}
alert(wordEnd);
Надо поставит условие, есть ли что-то вообще до буквы, вот я и думаю как обозначается пустота до строки.
Если предложите другие решения этой задачи, буду очень рад!
При проверке нулевого символа строки, предыдущий индекс будет -1
, а так как такого поля в строке нет, результат будет undefined
.
Следовательно, нужно добавить проверку на равенство undefined
: word[i-1] == undefined
Пример:
var word = prompt('Какие слова вам сделать с большой буквы? ');
var wordEnd = '';
for (i = 0; i < word.length; i++) {
wordEnd += (word[i - 1] == " " || word[i - 1] == "" || word[i - 1] == undefined) ? word[i].toUpperCase() : word[i];
}
console.log(wordEnd);
Кроме того можно воспользоваться простой регуляркой:
var word = prompt('Какие слова вам сделать с большой буквы? ');
var wordEnd = word.replace(/\b./g, $0 => $0.toUpperCase());
console.log(wordEnd);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок