Javascript Umgekehrter String

| | | | | | | | | | | | | | | | | | | | | | | | | |

Eine der ersten Herausforderungen im Bereich Code/Algorithmus, die wir als angehende Softwareingenieure und Webentwickler l√∂sen wollten, besteht darin, herauszufinden, wie man einen String umkehrt. Denken Sie daran, dass eine Zeichenfolge nur eine Sammlung von Zeichen und Leerzeichen ist. Was wir tun mussen, ist zu versuchen, zum Beispiel die Zeichenfolge ‚ÄûHello World!‚" und geben Sie "!dlroW olleH‚" zuruck. Es gibt mehrere M√∂glichkeiten, dieses Problem zu l√∂sen, und wir werden hier in diesem Artikel einige davon behandeln.

Schreiben Sie eine Funktion, reverseString, das einen String umkehrt und zuruckgibt. Der umzukehrende String wird als Argument in der Funktion angegeben.

Lösung Nr. 1: For-Schleife

Die erste und wahrscheinlich eine der einfachsten Lösungen ist um eine for-Schleife zu verwenden und ruckwärts durch die Zeichenfolge zu gehen. Wir mussen eine Variable instanziieren oder erstellen, die die neue umgekehrte Zeichenfolge enthält, während wir jedes Zeichen in der Zeichenfolge ubergeben:

Wir weisen dem letzten Index i zu (der herausgefunden wird, wenn wir 1 aus der Länge des Strings nehmen) ⇒ Dies ist unsere Initialisierung und dient als erster Index, den wir durchlaufen. Der zweite Teil der for-Schleife ist unsere Bedingung⇒dies sagt der Schleife, wann sie anhalten soll. Der dritte und letzte Teil der for-Schleife ist, um wie viel unser i inkrementiertnach Abschluss der Schleife und die Bedingung immer noch gilt: i– nimmt im Wesentlichen unser i und weist es i zu – 1;

Während wir jede Iteration durchlaufen, nehmen wir jedes Zeichen an str[i] und fugen es zu newStr hinzu. Wir geben dann newStr außerhalb unserer for-Schleife zuruck und beenden die Funktion.

Versuchen Sie es selbst im Code-Editor:


Lösung Nr. 2: JavaScripts ES6-Zuordnungsmethode

JavaScript hat eine in ES6 neue integrierte Array-Methode namens map . Dadurch wird ein neues Array mit den angegebenen Werten zuruckgegeben. Die Methode map hat drei Parameter: Das aktuelle Element, den Index des Elements und eine Kopie des Arrays, aus dem es stammt. Wir verwenden die letzten beiden Parameter in der Lösung.

Das erste, was wir tun mussen, ist den String mit der Methode split() in ein Array aufzuteilen. Die Methode gibt uns ein Array mit jedem einzelnen Zeichen darin. Wir verwenden dann dieses neue Array zum √úberspielen.

Da wir im Wesentlichen Indizes austauschen möchten, mussen wir den Index des Zeichens herausfinden, das wir an die Stelle des aktuellen Index setzen möchten . Das ist das Zeichen, das wir zuruckgeben.

Dazu ermitteln wir die Länge des Arrays minus eins, da wir ein nullbasiertes Array sind, und entfernen dann die Position von der aktuelle Index. Das von uns zuruckgegebene Array[swapIndex] ersetzt im Wesentlichen den aktuellen Index. Dadurch erhalten wir ein Array von umgekehrten Zeichen in einer Zeichenfolge.

Das letzte, was wir tun mussen, ist, das Array zu einer Zeichenfolge zusammenzufugen und zuruckzugeben.

Testen Sie die Lösung im Code-Editor!


Das Wichtigste ist, dass map ein neues Array zuruckgibt – daher ändern wir nicht das ursprungliche ubergebene str/array.

Lösung Nr. 3: Integrierte JavaScript-Methode

Diese Methode zur Lösung dieser Codeherausforderung verwendet die integrierten Funktionen/Methoden split() , reverse() und join(), um es in diesem Einzeiler zu lösen:

Versuchen Sie Fuhren Sie den folgenden Code aus und testen Sie ihn selbst, um zu sehen, wie er funktioniert!

Im Wesentlichen macht die integrierte Methode reverse() die map()-Methode (die Methode, die wir in unserer vorherigen Lösung beschrieben haben) unter der Haube; jedoch, sie mutiert das ursprungliche Array, anstatt ein neues zuruckzugeben, da es umgekehrt an Ort und Stelle. Wenn Sie ein größeres Problem lösen, mussen Sie möglicherweise eine Kopie von f das Original-Array, sodass Sie bei Bedarf weiterhin auf das Original zugreifen können.

Dies sind nicht die einzigen definitiven Möglichkeiten, dieses Problem zu lösen - dies sind nur einige der beliebtesten Lösungswege. Experimentieren Sie und sehen Sie, ob Sie im Code-Editor andere Lösungen fur sich selbst finden können Bearbeiten Sie einfach die Funktion reverseString() und sonst nichts, wenn Sie sie auf dem Bildschirm sehen möchten.