Как да направя така, че първата буква на даден низ да е главна в JavaScript?
Как да направя първата буква в низ главна, но да не променям големината на останалите букви?
Например:
"this is a test"
->"This is a test"
"Айфеловата кула"
->"Айфеловата кула"
"/index.html"
->"/index.html"
3541
3
Някои други отговори модифицират
String.prototype
(този отговор също го правеше), но сега не бих препоръчал това да се прави заради възможността за поддържане (трудно е да се разбере къде е добавена функцията къмprototype
и може да доведе до конфликти, ако друг код използва същото име / браузър добави местна функция със същото име в бъдеще).Ето един по-обектно-ориентиран подход:
Ще извикате функцията по следния начин:
Очакваният резултат е:
Тук има функция, наречена ucfirst() (съкращение от "първа буква от горен регистър"):
Можете да напишете главни букви в даден низ, като извикате ucfirst("some string") -- например,
Това става чрез разделяне на низа на две части. На първия ред изважда firstLetter и след това на втория ред изписва firstLetter с главна буква, като извиква firstLetter.toUpperCase() и го съединява с останалата част от низа, която се намира чрез извикване на str.substr(1).
Може да си помислите, че това няма да успее при празен низ, и наистина в език като C би трябвало да се погрижите за това. В JavaScript обаче, когато вземете подниз от празен низ, просто получавате празен низ обратно.