software

Cum se inversează un șir în JavaScript [pas cu pas]

Cum se inversează un șir în JavaScript [pas cu pas]

Un palindrom este un cuvânt sau o listă de caractere care citesc același lucru atunci când este inversat. Un bun exemplu în acest sens este cuvântul „RADAR”.

Cel mai simplu mod de a verifica dacă există un palindrom în JavaScript este să creați o copie a șirului original, să o inversați și apoi să o comparați. Dacă doriți să construiți un algoritm care face acest lucru în mod eficient, va trebui să învățați cum să inversați un șir în JavaScript. În acest ghid, veți afla cum.

Cum inversez un șir cu JavaScript?

1. Convertiți-l într-o matrice și inversați-l

  1. Împărțiți șirul într-o matrice de șiruri de caractere folosind Despică() metoda din clasa obiectului String. Metoda de divizare necesită un șir ca argument. În acest caz, veți utiliza un șir gol. Deci metoda ar trebui să arate astfel:
    Despică("")
  2. Inversați ordinea matricei folosind verso() metodă.
  3. Convertiți matricea înapoi într-un șir folosind a te alatura() metodă. La fel ca metoda split, metoda join necesită un șir ca argument. Din nou, veți utiliza un șir gol:
    a te alatura("")

Cel mai bun mod de a implementa pașii de mai sus este printr-o funcție. Iată un exemplu rapid de cod sursă pe care îl puteți copia, testa și modifica:




Marele Revers!


Șir curent: „Inversați acest șir!”


Verso


function myFunction ()
var str = "Reverse This String!";
var res = str.split (""); // Împarte șirul într-o matrice de caractere
res.reverse (); // Inversați ordinea matricei de caractere
str = res.join ("");
document.getElementById ("demo"). innerHTML = str; // Atașați șirul la demonstrația HTML



În exemplul de mai sus, creăm o funcție care inversează un șir codat și apoi setează un element de document la acesta. Funcția este apoi apelată de la un buton etichetat „Reverse”.

Există numeroase modalități prin care puteți scurta și modifica acest cod. De exemplu, în loc să atribuiți șirul unit fișierului str variabilă, îl puteți reasigna la rez variabilă și apoi îndreptați elementul document demo HTML către acesta, adică.

res = res.join ("");
document.getElementById ("demo"). innerHTML = res;

Alternativ, puteți condensa toți cei trei pași într-o singură linie:

var res = str.split (""). reverse (). join ("");

Oricum ar fi, rezultatele ar trebui să fie aceleași:


Doriți să învățați JavaScript chiar mai repede? Aflați de ce ar trebui să descărcați codul JavaScript citind acest articol!


2. Inversați șirul în JavaScript folosind o buclă for

  1. Creați o nouă variabilă de șir gol care va găzdui șirul inversat.
    var reverseString = "";
  2. Construiți o buclă for cu următoarele caracteristici:
    • Inițializator: inițializați un contor a cărui valoare este lungimea șirului care trebuie inversat scăzut cu 1.
    • Condiție: asigurați-vă că contorul este mai mare sau egal cu 0.
    • Iterare: contorul ar trebui să scadă cu fiecare buclă reușită.
    • Corpul buclei for ar trebui să adauge un caracter din șirul original la ceea ce va deveni șirul inversat în timp ce utilizați contorul buclei for pentru a seta poziția caracterului.
      for (var i = fwdStri.length - 1; i> = 0; i--) reverseString = newString + fwdStr [i]; 

Încă o dată, ar trebui să aplicați operația de mai sus într-o funcție din etichetele de script. Depinde de dvs. dacă doriți să includeți JavaScript ca fișier extern sau cod încorporat. Iată cum arată soluția de mai sus în acțiune:

   

Marele Revers!

Șir curent: „Inversați acest șir!”

Reverse function myFunction () var fwdString = "Reverse this String!"; var reverseString = ""; for (var i = fwdString.length - 1; i> = 0; i--) reverseString + = fwdString [i]; // Alternativă la newString + fwdString [i] document.getElementById ("demo"). InnerHTML = reverseString;

Codul de mai sus funcționează prin parcurgerea șirului original în sens invers și îl clonează caracter cu caracter. Dacă nu sunteți interesat să aruncați în mod explicit șirul într-o matrice, atunci veți găsi această soluție mai potrivită obiectivelor dvs..


3. Inversați șirul în JavaScript folosind recursivitate

  1. Creați o nouă funcție cu un șir ca parametru, de ex.
    funcție reverseString (str) 
  2. În corpul funcției, creați un dacă declarație care verifică dacă șirul transmis funcției este gol. Dacă este adevărat, ar trebui să returneze un șir gol, de ex.
    if (str === "") returnează "";
  3. Adăugați o declarație else.
  4. În corpul instrucțiunii else, returnați un apel recursiv la metoda curentă cu un șir al parametrului șir al metodei, începând de la al doilea caracter, adică str.substr (1). Adăugați prima literă a noului șir de ex.
    altfel returnează reverseString (str.substr (1)) + str.charAt (0);

Ar trebui să apelați această metodă dintr-o altă funcție responsabilă cu afișarea rezultatelor. Codul complet ar trebui să arate cam așa:

   

Marele Revers!

Șir curent: „Inversați acest șir!”

Funcția inversă MyFunction () var str = this.reverseString ("Reverse this String!"); document.getElementById ("demo"). innerHTML = str; function reverseString (str) if (str === "") return ""; altfel returnează reverseString (str.substr (1)) + str.charAt (0);

Recursivitatea funcționează mult ca o buclă for, dar păcăliți logica JavaScript pentru a funcționa pentru dvs. În loc să adauge caractere la sfârșitul șirului, acesta îl atașează în față cu fiecare buclă. Cu toate acestea, rezultatele sunt la fel.

Exemplele de mai sus pot fi testate utilizând Notepad-ul Windows și un browser web. Cu toate acestea, vă sugerăm să utilizați un editor de coduri multiplataforma sau un mediu de dezvoltare integrat pentru a vă economisi ceva timp.

Cum se inversează un șir într-un Javascript este o întrebare comună la interviu. Prin urmare, înțelegerea acestuia poate fi imperativă pentru succesul dvs. ca dezvoltator de software.

Cu toate acestea, spuneți-ne ce metodă a funcționat cel mai bine pentru dvs. în comentariile de mai jos. Ca întotdeauna, vă mulțumesc pentru lectură.

Întrebări frecvente: Aflați mai multe despre JavaScript

Pentru a remedia JavaScript nul 0 în Chrome, aruncați o privire la ghidul nostru detaliat de remediere a javascriptului: void (0).

Pentru a remedia eroarea JavaScript în procesul principal, urmați metodele prezentate în utilul nostru Fix JavaScript din ghidul principal al procesului.

Metoda de îmbinare în JavaScript adaugă sau elimină elemente dintr-o matrice.

Microsoft Store Oferte de stocare digitală pentru Cyber ​​Monday
Pentru această Cyber ​​Monday, Microsoft a pregătit destul de multe oferte în magazinul său Microsoft. Iată ofertele de care puteți beneficia la stoca...
Holiday Deal Cumpărați o tabletă sau un computer Windows 8.1, primiți 25 USD ca card cadou
Black Friday și Cyber ​​Monday s-au încheiat, dar există câteva oferte mai dulci pe care Microsoft le-a pregătit pentru dvs. Citiți mai jos pentru a v...
Aplicații și jocuri Windows 8 cu reducere în această săptămână # 6
O altă săptămână este aici și Microsoft, ca întotdeauna, publică aplicațiile și jocurile cu Windows 8 reduse în Magazinul Windows. Pentru această săpt...