programvara

Så här vänder du en sträng i JavaScript [Steg-för-steg]

Så här vänder du en sträng i JavaScript [Steg-för-steg]

En palindrom är ett ord eller en lista med tecken som läser samma när de är omvända. Ett bra exempel på detta är ordet 'RADAR'.

Det enklaste sättet att söka efter palindrom i JavaScript är att skapa en kopia av originalsträngen, vända den och sedan jämföra den. Om du vill bygga en algoritm som gör detta effektivt måste du lära dig hur du omvandlar en sträng i JavaScript. I den här guiden lär du dig hur.

Hur gör jag omvänd en sträng med JavaScript?

1. Konvertera den till en matris och omvänd den

  1. Dela upp din sträng i en rad understrängar med hjälp av dela() metod från strängobjektklassen. Delningsmetoden kräver en sträng som argument. I det här fallet använder du en tom sträng. Så metoden ska se ut så här:
    dela("")
  2. Omvänd ordningen på matrisen med hjälp av omvänd() metod.
  3. Konvertera arrayen tillbaka till en sträng med hjälp av Ansluta sig() metod. Precis som split-metoden kräver join-metoden en sträng som argument. Återigen använder du en tom sträng:
    Ansluta sig("")

Det bästa sättet att genomföra stegen ovan är genom en funktion. Här är ett snabbt källkodsexempel som du kan kopiera, testa och ändra:




Den stora Reverso!


Aktuell sträng: "Vänd denna sträng!"


Omvänd


funktion myFunction ()
var str = "Omvänd denna sträng!";
var res = str.split (""); // Dela strängen i en rad tecken
omvänd (); // Omvänd ordningen på teckensamlingen
str = res.join ("");
document.getElementById ("demo"). innerHTML = str; // Bifoga strängen till HTML-demo



I exemplet ovan skapar vi en funktion som reverserar en hårdkodad sträng och sedan sätter ett dokumentelement till den. Funktionen anropas sedan från en knapp märkt 'Reverse'.

Det finns många sätt att förkorta och ändra den här koden. Till exempel istället för att tilldela den sammanfogade strängen till str variabel kan du tilldela den till res variabel och peka sedan demo-HTML-dokumentelementet på det dvs.

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

Alternativt kan du kondensera alla tre stegen i en enda rad:

var res = str.split (""). omvänd (). gå med ("");

Hur som helst bör resultaten vara desamma:


Vill du lära dig JavaScript ännu snabbare? Lär dig varför du bör ladda ner JavaScript-kod genom att läsa den här artikeln!


2. Omvänd strängen i JavaScript med en for-loop

  1. Skapa en ny tom strängvariabel som innehåller den omvända strängen.
    var reverseString = "";
  2. Konstruera en for loop med följande egenskaper:
    • Initializer: initialisera en räknare vars värde är längden på strängen som ska omvändas subtraheras med 1.
    • Villkor: se till att räknaren är större än eller lika med 0.
    • Iteration: räknaren ska minska med varje lyckad slinga.
    • Kroppen för for-slingan ska lägga till ett tecken från den ursprungliga strängen till vad som blir den omvända strängen medan du använder for-loop-räknaren för att ställa in teckenposition.
      för (var i = fwdStri.length - 1; i> = 0; i--) reverseString = newString + fwdStr [i]; 

Återigen bör du använda ovanstående operation i en funktion inom skripttaggar. Oavsett om du vill inkludera JavaScript som en extern fil eller inbäddad kod är det upp till dig. Så här ser lösningen ovan ut i handling:

   

Den stora Reverso!

Aktuell sträng: "Vänd denna sträng!"

Omvänd funktion myFunction () var fwdString = "Omvänd denna sträng!"; var reverseString = ""; för (var i = fwdString.length - 1; i> = 0; i--) reverseString + = fwdString [i]; // Alternativ till newString + fwdString [i] document.getElementById ("demo"). InnerHTML = reverseString;

Ovanstående kod fungerar genom att slinga igenom din ursprungliga sträng i omvänd ordning och klona den tecken för tecken. Om du inte är intresserad av att uttryckligen kasta din sträng i en matris kan du hitta den här lösningen mer lämpad för dina mål.


3. Omvänd strängen i JavaScript med rekursion

  1. Skapa en ny funktion med en sträng som parameter t.ex..
    funktion reverseString (str) 
  2. Skapa en inom ramen för funktionen om uttalande som kontrollerar om strängen som skickas till funktionen är tom. Om det är sant ska det returnera en tom sträng, t.ex..
    if (str === "") return "";
  3. Lägg till ett annat uttalande.
  4. I det andra uttalandets kropp returnerar du ett rekursivt samtal till den aktuella metoden med en delsträng av metodens strängparameter, med början från det andra tecknet, dvs. str.substr (1). Lägg till första bokstaven i det nya underlaget t.ex..
    annars returnerar reverseString (str.substr (1)) + str.charAt (0);

Du bör anropa den här metoden från en annan funktion som är ansvarig för att visa resultaten. Hela koden ska se ut så här:

   

Den stora Reverso!

Aktuell sträng: "Vänd denna sträng!"

Omvänd funktion myFunction () var str = this.reverseString ("Reverse this String!"); document.getElementById ("demo"). innerHTML = str; funktion reverseString (str) if (str === "") return ""; annars returnerar reverseString (str.substr (1)) + str.charAt (0);

Rekursion fungerar mycket som en for-loop, men du lurar JavaScript-logiken för att fungera för dig. Istället för att lägga till tecken i slutet av strängen fäster den den på framsidan med varje slinga. Ändå är resultaten ungefär desamma.

Ovanstående exempel kan testas med Windows Notepad och en webbläsare. Vi föreslår dock att du använder en plattformsredigerare eller en integrerad utvecklingsmiljö för att spara lite tid.

Hur man vänder en sträng i ett Javascript är en vanlig intervjufråga. Därför kan förståelse för det vara avgörande för din framgång som programvaruutvecklare.

Låt oss dock veta vilken metod som fungerade bäst för dig i kommentarerna nedan. Som alltid, tack för att du läste.

FAQ: Läs mer om JavaScript

För att fixa JavaScript-tomrummet 0 i Chrome, ta en titt på vår detaljerade Fix-javascript: void (0) felguide.

För att fixa JavaScript-felet i huvudprocessen, följ metoderna som presenteras i vår användbara Fix JavaScript i huvudprocessguiden.

Splitsmetoden i JavaScript lägger till eller tar bort objekt från en matris.

Så här blockerar du UWP-appar i Windows 10
Om du är förälder, delar en dator med dina barn eller en teamchef som vill att hans kollegor ska fokusera på sitt arbete, finns det säkert några appar...
Inaktivera automatiska omstart efter installation av uppdateringar i Windows 10
Windows 10 handlar om uppdateringar. När Microsoft presenterade idén om "Windows 10 som en tjänst", blev det klart att användare inte kommer att kunna...
Fel 0x8024001e blockerar installation av Windows 10 Mobile build - möjlig fix
Fel 0x8024001e är ett av de äldsta felen som påverkar installationen av Windows 10 Mobile. Tyvärr fostrade detta fel dess fula huvud i den senaste Win...