software

Een string omkeren in JavaScript [Stap voor stap]

Een string omkeren in JavaScript [Stap voor stap]

Een palindroom is een woord of een lijst met tekens die hetzelfde lezen als ze worden omgekeerd. Een goed voorbeeld hiervan is het woord 'RADAR'.

De eenvoudigste manier om te controleren op een palindroom in JavaScript, is door een kopie van de originele tekenreeks te maken, deze om te draaien en vervolgens te vergelijken. Als u een algoritme wilt bouwen dat dit effectief doet, moet u leren hoe u een string in JavaScript omkeert. In deze gids leert u hoe u dit doet.

Hoe kan ik een string omkeren met JavaScript??

1. Converteer het naar een array en draai het om

  1. Splits uw string in een reeks subtekenreeksen met behulp van de splitsen () methode uit de String-objectklasse. De split-methode vereist een string als argument. In dit geval gebruik je een lege string. Dus de methode zou er als volgt uit moeten zien:
    split ("")
  2. Keer de volgorde van de array om met de omgekeerde() methode.
  3. Converteer de array weer in een string met de toetreden () methode. Net als bij de split-methode, vereist de join-methode een string als argument. Nogmaals, je gebruikt een lege string:
    toetreden ("")

De beste manier om de bovenstaande stappen te implementeren is via een functie. Hier is een snel voorbeeld van een broncode dat u kunt kopiëren, testen en wijzigen:




De grote Reverso!


Huidige tekenreeks: "Keer deze tekenreeks om!"


Omgekeerde


functie myFunction ()
var str = "Keer deze string om!";
var res = str.split (""); // Splits de string in een reeks karakters
res.reverse (); // Keer de volgorde van de reeks tekens om
str = res.join ("");
document.getElementById ("demo"). innerHTML = str; // Bevestig de string aan de HTML-demo



In het bovenstaande voorbeeld maken we een functie die een hardgecodeerde string omkeert en er vervolgens een documentelement aan instelt. De functie wordt vervolgens aangeroepen via een knop met het label 'Omkeren'.

Er zijn talloze manieren waarop u deze code kunt inkorten en wijzigen. In plaats van de samengevoegde string toe te wijzen aan de str variabele, kunt u deze opnieuw toewijzen aan de res variabele en wijs het demo HTML-documentelement ernaar, d.w.z..

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

Als alternatief kunt u alle drie de stappen samenvoegen tot één regel:

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

Hoe dan ook, de resultaten zouden hetzelfde moeten zijn:


Wilt u JavaScript nog sneller leren? Lees dit artikel om te zien waarom u JavaScript-code moet downloaden!


2. Keer de string in JavaScript om met een for-lus

  1. Maak een nieuwe lege stringvariabele die de omgekeerde string zal bevatten.
    var reverseString = "";
  2. Construeer een for-lus met de volgende kenmerken:
    • Initializer: initialiseer een teller waarvan de waarde de lengte is van de string die moet worden teruggedraaid, afgetrokken met 1.
    • Voorwaarde: zorg ervoor dat de teller groter is dan of gelijk is aan 0.
    • Iteratie: de teller moet bij elke geslaagde lus afnemen.
    • De body van de for-lus moet een karakter uit de originele string toevoegen aan wat de omgekeerde string zal worden, terwijl de for-lus-teller wordt gebruikt om de karakterpositie in te stellen.
      voor (var i = fwdStri.length - 1; i> = 0; i--) reverseString = newString + fwdStr [i]; 

Nogmaals, u moet de bovenstaande bewerking toepassen in een functie binnen scripttags. Of u JavaScript als extern bestand of ingesloten code wilt opnemen, is aan u. Hier ziet u hoe de bovenstaande oplossing er in actie uitziet:

   

De grote Reverso!

Huidige tekenreeks: "Keer deze tekenreeks om!"

Omkeerfunctie myFunction () var fwdString = "Keer deze string om!"; var reverseString = ""; voor (var i = fwdString.length - 1; i> = 0; i--) reverseString + = fwdString [i]; // Alternatief voor newString + fwdString [i] document.getElementById ("demo") innerHTML = reverseString;

De bovenstaande code werkt door je originele string in omgekeerde volgorde te doorlopen en deze karakter voor karakter te klonen. Als je niet geïnteresseerd bent in het expliciet casten van je string in een array, dan vind je deze oplossing wellicht geschikter voor je doelen.


3. Keer de string in JavaScript om met behulp van recursie

  1. Maak een nieuwe functie met een string als parameter, bijv.
    functie reverseString (str) 
  2. Maak binnen de body van de functie een als instructie die controleert of de string die aan de functie is doorgegeven leeg is. Indien waar, zou het een lege string moeten teruggeven, bijv.
    if (str === "") return "";
  3. Voeg een else-statement toe.
  4. Retourneer in de body van de else-instructie een recursieve aanroep naar de huidige methode met een substring van de stringparameter van de methode, beginnend bij het tweede teken, d.w.z. str. substraat (1). Voeg de eerste letter van de nieuwe subtekenreeks toe, bijv.
    anders return reverseString (str.substr (1)) + str.charAt (0);

U moet deze methode aanroepen vanuit een andere functie die verantwoordelijk is voor het weergeven van de resultaten. De volledige code zou er ongeveer zo uit moeten zien:

   

De grote Reverso!

Huidige tekenreeks: "Keer deze tekenreeks om!"

Omgekeerde functie myFunction () var str = this.reverseString ("Keer deze string om!"); document.getElementById ("demo"). innerHTML = str; functie reverseString (str) if (str === "") return ""; anders return reverseString (str.substr (1)) + str.charAt (0);

Recursie werkt veel als een for-lus, maar je bedriegt de logica van JavaScript om voor jou te werken. In plaats van tekens aan het einde van de string toe te voegen, wordt deze bij elke lus aan de voorkant bevestigd. Niettemin zijn de resultaten vrijwel hetzelfde.

De bovenstaande voorbeelden kunnen worden getest met Windows Kladblok en een webbrowser. We raden u echter aan om een ​​platformonafhankelijke code-editor of een geïntegreerde ontwikkelomgeving te gebruiken om uzelf wat tijd te besparen.

Hoe u een string in een Javascript omkeert, is een veel voorkomende interviewvraag. Daarom kan het noodzakelijk zijn om het te begrijpen voor uw succes als softwareontwikkelaar.

Laat ons echter in de opmerkingen hieronder weten welke methode het beste voor u werkte. Zoals altijd, bedankt voor het lezen.

Veelgestelde vragen: meer informatie over JavaScript

Om JavaScript void 0 in Chrome te herstellen, bekijk onze gedetailleerde Fix javascript: void (0) foutgids.

Om de JavaScript-fout in het hoofdproces op te lossen, volgt u de methoden die worden gepresenteerd in onze handige Fix JavaScript in de hoofdproceshandleiding.

De splitsingsmethode in JavaScript voegt items toe aan of verwijdert items uit een array.

Top 10 nieuwe functies voor bedrijven in Windows 8.1
De Windows 8.1-update van Microsoft wordt geleverd met belangrijke functies voor zakelijke en zakelijke gebruikers. We hebben een top 9 geselecteerd d...
Nokia 2520 versus iPad Air Video Advertising
Dit is geen strijd om specificaties, maar eerder om Nokia's kijk op de iPad Air met hun nieuwste advertenties. Dit is dezelfde reclamefilosofie die Mi...
Windows 8.1-tablets met 64-bits Intel Bay Trail-chips komen in Q1 2014
Intel bereidt zich voor op 2014 met Intel Bay Trail-chips die het bedrijf naar verwachting in het eerste kwartaal van volgend jaar zal onthullen. Maar...