În acest articol, veți învăța cum să scrieți cu majusculă prima literă a oricărui cuvânt în JavaScript. După aceea, veți majuscula prima literă din toate cuvintele dintr-o propoziție.

Lucrul frumos al programării este că nu există o singură soluție universală pentru rezolvarea unei probleme. Prin urmare, în acest articol veți vedea mai multe moduri de a rezolva aceeași problemă.

Cu majusculă prima literă a unui cuvânt

În primul rând, să începem cu scrierea cu majusculă a primei litere a unui singur cuvânt. După ce veți afla cum să faceți acest lucru, vom trece la nivelul următor – o vom face la fiecare cuvânt dintr-o propoziție. Iată un exemplu:

const publication = "Routech";

În JavaScript, începem să numărăm de la 0. De exemplu, dacă avem o matrice, prima poziție este 0, nu 1.

De asemenea, putem accesa fiecare literă dintr-un șir în același mod în care accesăm un element dintr-o matrice. De exemplu, prima literă din cuvântul „Routech“este în poziția 0.

Aceasta înseamnă că putem primi scrisoarea f din Routech facand publication[0].

În același mod, puteți accesa alte litere din cuvânt. Puteți înlocui „0” cu orice număr, atâta timp cât nu depășiți lungimea cuvântului. Prin depășirea lungimii cuvântului, mă refer la încercarea de a face ceva de genul publicare[25, which throws an error because there are only twelve letters in the word “Routech”.

How to capitalize the first letter

Now that we know how to access a letter from a word, let’s capitalize it.

In JavaScript, we have a method called toUpperCase(), which we can call on strings, or words. As we can imply from the name, you call it on a string/word, and it is going to return the same thing but as an uppercase.

For instance:

const publication = "Routech";
publication[0].toUpperCase ();

Rulând codul de mai sus, veți obține un capital F in loc de. Pentru a recupera întregul cuvânt, putem face acest lucru:

const publication = "Routech";
publication[0].toUpperCase() + publication.substring(1);

Acum concatenează „F” cu „reeCodeCamp”, ceea ce înseamnă că primim înapoi cuvântul „FreeCodeCamp”. Asta e tot!

Să recapitulăm

Pentru a fi siguri că lucrurile sunt clare, să recapitulăm ceea ce am învățat până acum:

  • În JavaScript, numărarea începe de la 0.
  • Putem accesa o literă dintr-un șir în același mod în care accesăm un element dintr-o matrice – de ex string[index].
  • Nu utilizați un index care depășește lungimea șirului (utilizați metoda lungimii – string.length – pentru a găsi gama pe care o puteți utiliza).
  • Utilizați metoda încorporată toUpperCase() pe litera pe care doriți să o transformați în majuscule.

Cu majusculă prima literă a fiecărui cuvânt dintr-un șir

Următorul pas este să luați o propoziție și să scrieți cu majuscule fiecare cuvânt din propoziția respectivă. Să luăm următoarea propoziție:

const mySentence = "Routech is an awesome resource";

Împarte-l în cuvinte

Trebuie să scriem cu majusculă prima literă din fiecare cuvânt din propoziție Routech is an awesome resource.

Primul pas pe care îl facem este să împărțim propoziția într-o serie de cuvinte. De ce? Deci, putem manipula fiecare cuvânt individual. Putem face acest lucru după cum urmează:

const mySentence = "Routech is an awesome resource";
const words = mySentence.split(" ");

Repetați fiecare cuvânt

După ce executăm codul de mai sus, variabila words i se atribuie un tablou cu fiecare cuvânt din propoziție. Tabloul este după cum urmează ["Routech", "is", "an", "awesome", "resource"].

const mySentence = "Routech is an awesome resource";
const words = mySentence.split(" ");

for (let i = 0; i < words.length; i++) {
    words[i] = words[i][0].toUpperCase() + words[i].substr(1);
}

Acum, următorul pas este să faceți o buclă peste matrice de cuvinte și să scrieți cu majusculă prima literă a fiecărui cuvânt.

În codul de mai sus, fiecare cuvânt este luat separat. Apoi, scrie cu majusculă prima literă și, în cele din urmă, concatenează prima literă cu majuscule cu restul șirului.

Alătură-te cuvintelor

Ce face codul de mai sus? Itera peste fiecare cuvânt și îl înlocuiește cu majuscula primei litere + restul șirului.

Dacă luăm ca exemplu „Routech”, arată așa Routech = F + reeCodeCamp.

După ce repetă toate cuvintele, words matricea este ["FreeCodeCamp", "Is", "An", "Awesome", "Resource"]. Cu toate acestea, avem o matrice, nu un șir, care nu este ceea ce ne dorim.

Ultimul pas este de a uni toate cuvintele pentru a forma o propoziție. Deci, cum facem asta?

În JavaScript, avem o metodă numită join, pe care îl putem folosi pentru a returna o matrice ca un șir. Metoda are ca argument un separator. Adică, specificăm ce să adăugăm între cuvinte, de exemplu un spațiu.

const mySentence = "Routech is an awesome resource";
const words = mySentence.split(" ");

for (let i = 0; i < words.length; i++) {
    words[i] = words[i][0].toUpperCase() + words[i].substr(1);
}

words.join(" ");

În fragmentul de cod de mai sus, putem vedea metoda de asociere în acțiune. O numim pe words array și specificăm separatorul, care în cazul nostru este un spațiu.

Prin urmare, ["FreeCodeCamp", "Is", "An", "Awesome", "Resource"] devine FreeCodeCamp Is An Awesome Resource.

Alte metode

În programare, de obicei, există mai multe modalități de a rezolva aceeași problemă. Deci, să vedem o altă abordare.

const mySentence = "Routech is an awesome resource";
const words = mySentence.split(" ");

words.map((word) => { 
    return word[0].toUpperCase() + word.substring(1); 
}).join(" ");

Care este diferența dintre soluția de mai sus și soluția inițială? Cele două soluții sunt foarte asemănătoare, diferența fiind că în a doua soluție folosim map funcție, în timp ce în prima soluție am folosit un for loop.

Să mergem și mai departe și să încercăm să facem un cu o singură linie. Fi conștient! Soluțiile cu o singură linie ar putea părea grozave, dar în lumea reală sunt rareori folosite, deoarece este dificil să le înțelegem. Citibilitatea codului este întotdeauna pe primul loc.

const mySentence = "Routech is an awesome resource";

const finalSentence = mySentence.replace(/(^w{1})|(s+w{1})/g, letter => letter.toUpperCase());

Codul de mai sus folosește RegEx pentru a transforma literele. RegEx ar putea părea confuz, așa că permiteți-mi să explic ce se întâmplă:

  • ^ se potrivește cu începutul șirului.
  • w se potrivește cu orice caracter de cuvânt.
  • {1} preia doar primul personaj.
  • Prin urmare, ^w{1} se potrivește cu prima literă a cuvântului.
  • | funcționează ca booleanul OR. Se potrivește cu expresia după și înainte de |.
  • s+ se potrivește cu orice cantitate de spațiu alb între cuvinte (de exemplu spații, file sau întreruperi de linie).

Astfel, cu o singură linie, am realizat același lucru pe care l-am realizat în soluțiile de mai sus. Dacă doriți să vă jucați cu RegEx și să aflați mai multe, puteți folosi acest site web.

Concluzie

Felicitări, ai învățat un lucru nou azi! Pentru a recapitula, în acest articol, ați învățat cum să:

  • accesați caracterele dintr-un șir
  • scrieți cu majusculă prima literă a unui cuvânt
  • împarte un șir într-o serie de cuvinte
  • alăturați cuvintele dintr-o matrice pentru a forma un șir
  • utilizați RegEx pentru a realiza aceeași sarcină

Dacă îți place ceea ce scriu, sunt șanse să îți placă ceea ce trimit prin e-mail. Vă recomandăm să vă abonați la listă de email-uri. Daca esti nu un fan al buletinelor informative, putem păstra oricând legătura Stare de nervozitate.