Javascript Großbuchstaben Anfangsbuchstaben

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

Es gibt viele anfängerfreundliche Code-Herausforderungen, die Ihnen helfen, mehr wie ein Ingenieur zu denken. Eine solche Herausforderung ist eine, bei der Sie den ersten Buchstaben jedes Wortes in einer bestimmten Zeichenfolge groß schreiben. In diesem Artikel werfen wir einen Blick auf die Eingabeaufforderung und verschiedene mögliche Lösungen in JavaScript.

Anhand einer Funktion Großschreibung, die str als Parameter, geben Sie str mit jedem großgeschriebenen Wort zuruck. Denken Sie an Grenzfälle in Ihrer Lösung (z. B. keine Eingabe, die falsche Eingabeart usw.).

Der Ansatz

  1. Schauen Sie sich die Eingabeaufforderung noch einmal an . Notieren oder markieren Sie alle Schlusselwörter, die Sie im Wortlaut finden.
  2. Setzen Sie die Bedeutung der Wortaufgabe zusammen. Ein Teil des schwierigsten Teils bei der Durchfuhrung von Code-Herausforderungen besteht darin, herauszufinden, was das Problem von Ihnen verlangt. Das Verständnis des Problems wird Ihnen helfen, es zu lösen.
  3. Pseudokodieren Sie eine mögliche Lösung. Es muss kein echter Code sein (es muss nicht in Ihrer IDE oder Browserkonsole ausfuhrbar sein – einfaches Englisch ist in Ordnung):

Bringen Sie das Problem Schritt fur Schritt grundlich auf. Es wird Ihnen helfen, an Grenzfälle zu denken – Fälle, in denen möglicherweise eine falsche Eingabe oder eine leere Zeichenfolge ubergeben wurde – und wie man das Problem in logische Schritte zerlegt. Dies ist im Grunde Ihre Experimentierphase – Es gibt keine falschen Antworten, nur Gedanken daruber, wie man das Problem angehen kann. Diese Gedanken können fehlgeleitet oder fehlgeleitet sein – So lernen Sie Ansätze kennen, die nicht zu einem Problem fuhren.

Ich habe festgestellt, dass die Logik einfacher fur mich ist, wenn ich das Problem aufschlusseln kann, indem ich es laut erkl√§re.Ihre Laufleistung kann je nach Ansatz variieren, aber ich wollte es zumindest vorschlagen Falls es fur Sie funktioniert! Der Pseudocode fur ein kleines Problem wie dieses scheint ein bisschen viel zu sein, aber wenn Sie das Konzept jetzt uben, wird es Ihnen leichter fallen, an wesentlich schwierigeren Problemen zu arbeiten.

Die Lösungen

Lösung #1: split() und for-Schleife mit string.replace()- und charAt()-Methoden

In dieser ersten Lösung teilen wir den String an seinen Leerzeichen auf. Dadurch erhalten wir ein Arr mit jedem einzelnen Wort als eigenen Index. Durch Schleifen uber das Array können wir auf die persönlichen Indizes jedes Strings zugreifen. Wir haben die Zeichenfolge (in diesem Fall die Zeichenfolge arr[i]) am Index i neu zugewiesen, um das Ergebnis des Ersetzens des Zeichenfolgenzeichens bei Index 0 (arr[i].charAt(0) durch seinen Großbuchstabenwert zu sein Fugte das arr dann wieder zu einer Zeichenfolge mit Leerzeichen zwischen den einzelnen Wörtern zusammen.

Lösung #2: Aufteilen mit map-Methode und Slice

In dieser Lösung beginnen wir ganz ähnlich, verwenden dann aber eine ES6-Array-Methode namens map, um das Array zu durchlaufen und neue Werte zuruckzugeben, die das erste Zeichen großschreiben jedes Wortes. Dies geschieht, indem explizit festgelegt wird, was wir mit der Methode toUpperCase() fur den ersten Buchstaben, der Methode slice() fur den Rest des Strings tun werden. und String-Verkettung, um die neue Version des Wortes zu erhalten. Dann verbinden wir das Array und geben es zuruck.

Lösung #3: reguläre Ausdrucke

In dieser Lösung verwenden wir einen regulären Ausdruck, um nach . zu suchen alle Nicht-Leerzeichen ( S ) entweder am Anfang der Zeichenfolge ( ^ ) odernach a Leerzeichen ( s ). Das g-Flag am Ende bedeutet global und ermöglicht es uns, nach allen Instanzen dieses Musters zu suchen. Dann verwenden wir die Methode replace, um dieses Regex-Muster durch eine Funktion zu ersetzen, die diesen Buchstaben nimmt und in Großbuchstaben zuruckgibt.

Abschlussgedanken

Diese Lösungen sind keineswegs die einzigen Lösungen fur dieses Problem. Wenn Sie beginnen, mehr davon zu tun, werden Sie höchstwahrscheinlich Lösungen finden, die sich von denen eines Artikels oder Blogbeitrags unterscheiden können oder nicht. Das ist gut so. Das bedeutet, dass Sie anfangen, wie ein Ingenieur zu denken – und das ist das Ziel.

Bleiben Sie am Ball. Bei diesen Lösungen wurden keine Randfälle behandelt. Was sollten Sie tun, wenn Ihr Argument leer ist oder eine Zahl ist? Versuchen Sie, den obigen Code zu ergänzen, indem Sie diese Grenzfälle behandeln.

Hinweis: Verwenden Sie ein Knall-/Ausrufezeichen, um bedingt herauszufinden, ob str existiert. Sehen Sie sich die MDN-Dokumentation an, um herauszufinden, ob es eine Methode gibt, den Typ vonetwas herauszufinden, wenn Sie nicht unbedingt wissen, was es ist.

Noch eine Sache: Versuchen Sie sich an der JavaScript Reverse String Code Challenge falls Sie es noch nicht getan haben!

Weitere Ressourcen, die Sie berucksichtigen sollten:

Reguläre Ausdrucke in Ruby verwenden – Dies ist Ruby gewidmet, aber Regex ist größtenteils sprachunabhängig – sehen Sie sich das an, um mehr uber die RegExp-Syntax in Lösung 3 zu erfahren.

JavaScript-Ersetzungstext: Eine Schritt-fur-Schritt-Anleitung – Ein Tutorial zur Ersetzungsmethode, die in Lösung 1 verwendet wird.