Kako v javascriptu spremenim prvo črko v nizu v veliko začetnico?
Kako lahko prvo črko v nizu spremenim v veliko črko, vendar ne spremenim velikosti drugih črk?
Na primer:
"to je test"
->"To je test"
"Eifflov stolp"
->"Eifflov stolp"
"/index.html"
->"/index.html"
3541
3
Nekateri drugi odgovori spreminjajo
String.prototype
(tudi ta odgovor je to počel), vendar bi to odsvetoval zaradi vzdržljivosti (težko je ugotoviti, kje je funkcija dodana vprototype
, in lahko povzroči konflikte, če druga koda uporablja isto ime / če brskalnik v prihodnosti doda lastno funkcijo z istim imenom).Tukaj je bolj objektno usmerjen pristop:
Funkcijo pokličete na naslednji način:
Pričakovani rezultat je:
Tu je funkcija ucfirst() (kratica za "velika začetna črka"):
Niz lahko napišete z veliko začetnico tako, da pokličete ucfirst("some string") -- na primer,
Deluje tako, da razdeli niz na dva dela. V prvi vrstici izvleče prvoLetter, nato pa v drugi vrstici prvoLetter napiše z veliko začetnico tako, da pokliče firstLetter.toUpperCase() in ga poveže s preostalim nizom, ki ga poišče s klicem str.substr(1).
Morda se vam zdi, da to ne bo uspelo pri praznem nizu, in v jeziku, kot je C, bi bilo treba to predvideti. Vendar pa v jeziku JavaScript, ko vzamete podrejeni niz praznega niza, dobite nazaj samo prazen niz.