software

Sådan vender du en streng i JavaScript [trin for trin]

Sådan vender du en streng i JavaScript [trin for trin]

En palindrom er et ord eller en liste over tegn, der læser det samme, når de vendes. Et godt eksempel på dette er ordet 'RADAR'.

Den nemmeste måde at kontrollere, om der er et palindrom i JavaScript, er at oprette en kopi af den originale streng, vende den om og sammenligne den. Hvis du vil opbygge en algoritme, der gør dette effektivt, skal du lære at vende en streng i JavaScript. I denne vejledning lærer du hvordan.

Hvordan vender jeg en streng med JavaScript?

1. Konverter det til et array, og vend det

  1. Opdel din streng i en række understrenge ved hjælp af dele() metode fra String-objektklassen. Opdelingsmetoden kræver en streng som argument. I dette tilfælde bruger du en tom streng. Så metoden skal se sådan ud:
    dele("")
  2. Vend rækkefølgen af ​​arrayet ved hjælp af baglæns() metode.
  3. Konverter arrayet tilbage til en streng ved hjælp af tilslutte() metode. Ligesom splitmetoden kræver sammenføjningsmetoden en streng som et argument. Endnu en gang bruger du en tom streng:
    tilslutte("")

Den bedste måde at implementere ovenstående trin på er gennem en funktion. Her er et hurtigt kildekodeeksempel, som du kan kopiere, teste og ændre:




Den store Reverso!


Nuværende streng: "Vend denne streng!"


Baglæns


funktion myFunction ()
var str = "Vend denne streng!";
var res = str.split (""); // Opdel strengen i en række tegn
omvendt () // Vend rækkefølgen af ​​matrixen af ​​tegn
str = res.join ("");
document.getElementById ("demo"). innerHTML = str; // Vedhæft strengen til HTML-demoen



I ovenstående eksempel opretter vi en funktion, der vender en hardkodet streng og derefter indstiller et dokumentelement til den. Funktionen kaldes derefter fra en knap mærket 'Reverse'.

Der er mange måder, du kan forkorte og ændre denne kode på. For eksempel i stedet for at tildele den sammenføjede streng til str variabel, kan du tildele den til res variabel og peg derefter demo-HTML-dokumentelementet på det dvs..

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

Alternativt kan du kondensere alle tre trin til en enkelt linje:

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

Uanset hvad skal resultaterne være de samme:


Vil du lære JavaScript endnu hurtigere? Lær hvorfor du skal downloade JavaScript-kode ved at læse denne artikel!


2. Vend strengen i JavaScript ved hjælp af en for-loop

  1. Opret en ny tom strengvariabel, der indeholder den omvendte streng.
    var reverseString = "";
  2. Konstruer en for loop med følgende egenskaber:
    • Initializer: initialiser en tæller, hvis værdi er længden af ​​den streng, der skal vendes, trækkes med 1.
    • Betingelse: Sørg for, at tælleren er større end eller lig med 0.
    • Iteration: tælleren skal mindskes med hver vellykket loop.
    • Teksten til for-sløjfen skal tilføje et tegn fra den originale streng til, hvad der bliver den omvendte streng, mens du bruger for-loop-tælleren til at indstille tegnpositionen.
      for (var i = fwdStri.length - 1; i> = 0; i--) reverseString = newString + fwdStr [i]; 

Endnu en gang skal du anvende ovenstående operation i en funktion inden for scripting-tags. Uanset om du vil inkludere JavaScript som en ekstern fil eller integreret kode, er det op til dig. Sådan ser ovenstående løsning ud i aktion:

   

Den store Reverso!

Nuværende streng: "Vend denne streng!"

Omvendt funktion myFunction () var fwdString = "Vend denne streng!"; var reverseString = ""; for (var i = fwdString.length - 1; i> = 0; i--) reverseString + = fwdString [i]; // Alternativ til newString + fwdString [i] document.getElementById ("demo"). InnerHTML = reverseString;

Ovenstående kode fungerer ved at løbe gennem din originale streng i omvendt rækkefølge og kloner den karakter for karakter. Hvis du ikke er interesseret i eksplicit at caste din streng i en matrix, kan du muligvis finde denne løsning mere egnet til dine mål.


3. Vend strengen i JavaScript ved hjælp af rekursion

  1. Opret en ny funktion med en streng som parameter f.eks.
    funktion reverseString (str) 
  2. Opret en i funktionens krop hvis erklæring, der kontrollerer, om strengen, der sendes til funktionen, er tom. Hvis det er sandt, skal det returnere en tom streng, f.eks.
    hvis (str === "") return "";
  3. Tilføj et andet udsagn.
  4. I kroppen af ​​den anden erklæring skal du returnere et rekursivt opkald til den aktuelle metode med en understreng af metodens strengparameter, startende fra det andet tegn, dvs. str.substr (1). Tilføj det første bogstav i det nye underlag f.eks.
    ellers returnere reverseString (str.substr (1)) + str.charAt (0);

Du skal kalde denne metode fra en anden funktion, der er ansvarlig for at vise resultaterne. Den komplette kode skal se sådan ud:

   

Den store Reverso!

Nuværende streng: "Vend denne streng!"

Omvendt funktion myFunction () var str = this.reverseString ("Vend denne streng!"); document.getElementById ("demo"). innerHTML = str; funktion reverseString (str) if (str === "") return ""; ellers returnere reverseString (str.substr (1)) + str.charAt (0);

Rekursion fungerer meget som en for loop, men du narrer JavaScript's logik til at arbejde for dig. I stedet for at tilføje tegn i slutningen af ​​strengen, vedhæftes det fronten med hver løkke. Ikke desto mindre er resultaterne meget ens.

Ovenstående eksempler kan testes ved hjælp af Windows Notepad og en webbrowser. Vi foreslår dog, at du bruger en cross-platform kodeditor eller et integreret udviklingsmiljø for at spare dig tid.

Sådan vendes en streng i et Javascript er et almindeligt interviewspørgsmål. Derfor kan forståelse af det være bydende nødvendigt for din succes som softwareudvikler.

Lad os ikke desto mindre vide, hvilken metode der fungerer bedst for dig i kommentarerne nedenfor. Tak som læs som altid.

FAQ: Lær mere om JavaScript

For at rette JavaScript-tomrummet 0 i Chrome skal du kigge på vores detaljerede Fix javascript: ugyldige (0) fejlvejledning.

For at rette JavaScript-fejlen i hovedprocessen skal du følge metoderne i vores nyttige Fix JavaScript i hovedprocesvejledningen.

Splice-metoden i JavaScript tilføjer eller fjerner elementer fra en matrix.

Fix Windows 10-jubilæumsopdatering fast i genstart
Jubilæumsopdateringen spiller det svært at få for nogle brugere: selvom der er gået et par dage siden Microsoft rullede opdateringen ud, er der bruger...
Pin til Start mangler i jubilæumsopdateringen
Windows 10 OS giver brugerne mulighed for at personalisere deres computere efter deres behov. En af de mest nyttige funktioner er Pin to Start-indstil...
Kan ikke aktivere Windows 10 efter jubilæumsopdateringen
Hvis du kører en ægte, fuldt aktiveret version af Windows 10, er der ikke behov for at aktivere noget efter installation af jubilæumsopdateringen. På ...