


Mussten Sie schon einmal einen String in camelCase konvertieren? Beim Erkunden des Open-Source-Repositorys Supabase habe ich einen interessanten Codeausschnitt gefunden. Hier ist die Methode, die sie verwenden:
function featureToCamelCase(feature: Feature) { return feature .replace(/:/g, '\_') .split('\_') .map((word, index) => (index === 0 ? word : word\[0\].toUpperCase() + word.slice(1))) .join('') as FeatureToCamelCase<typeof feature> } </typeof>
Diese Funktion ist ziemlich nett. Es ersetzt Doppelpunkte durch Unterstriche, teilt die Zeichenfolge in Wörter auf und ordnet dann jedes Wort zu, um es in camelCase umzuwandeln. Das erste Wort wird in Kleinbuchstaben geschrieben und bei den folgenden Wörtern wird das erste Zeichen großgeschrieben, bevor es wieder zusammengefügt wird. Einfach und doch effektiv!
Ich bin bei Stack Overflow auf einen anderen Ansatz gestoßen, der keine regulären Ausdrücke verwendet. Hier ist die Alternative:
function toCamelCase(str) { return str.split(' ').map(function(word, index) { // If it is the first word make sure to lowercase all the chars. if (index == 0) { return word.toLowerCase(); } // If it is not the first word only upper case the first char and lowercase the rest. return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase(); }).join(''); }
Dieser Codeausschnitt von SO enthält Kommentare, die erklären, was dieser Code tut, außer dass er keinerlei Regex verwendet. Der Code, der in Supabases Methode zum Konvertieren eines Strings in camelCase gefunden wird, ist dieser SO-Antwort sehr ähnlich, mit Ausnahme der Kommentare und des verwendeten regulären Ausdrucks.
.replace(/:/g, '\_')
Diese Methode teilt die Zeichenfolge in Leerzeichen auf und ordnet sie dann jedem Wort zu. Das erste Wort wird vollständig in Kleinbuchstaben geschrieben, während die folgenden Wörter beim ersten Zeichen großgeschrieben und für den Rest kleingeschrieben werden. Abschließend werden die Wörter wieder zu einer CamelCase-Zeichenfolge zusammengefügt.
Ein interessanter Kommentar eines Stack Overflow-Benutzers erwähnte den Leistungsvorteil dieses Ansatzes:
„+1 dafür, dass keine regulären Ausdrücke verwendet werden, auch wenn in der Frage nach einer Lösung gefragt wurde, die diese verwendet. Dies ist eine viel klarere Lösung und auch ein klarer Leistungsgewinn (da die Verarbeitung komplexer regulärer Ausdrücke eine viel schwierigere Aufgabe ist, als nur eine Reihe von Zeichenfolgen zu durchlaufen und Teile davon zusammenzufügen). Siehe jsperf.com/camel-casing-regexp-or-character-manipulation/1 wo ich einige der Beispiele hier zusammen mit diesem (und auch meinem eigenen bescheidenen Beispiel) übernommen habe Verbesserung der Leistung, obwohl ich dieser Version aus Gründen der Übersichtlichkeit in den meisten Fällen wahrscheinlich den Vorzug geben würde).“
Beide Methoden haben ihre Vorzüge. Der Regex-Ansatz im Supabase-Code ist prägnant und nutzt leistungsstarke Techniken zur String-Manipulation. Andererseits wird der Nicht-Regex-Ansatz für seine Klarheit und Leistung gelobt, da er den mit regulären Ausdrücken verbundenen Rechenaufwand vermeidet.
So können Sie zwischen ihnen wählen:
- Verwenden Sie den Regex-Ansatz, wenn Sie eine kompakte, einzeilige Lösung benötigen, die die leistungsstarken Regex-Funktionen von JavaScript nutzt. Fügen Sie außerdem unbedingt Kommentare hinzu, die erklären, was Ihr regulärer Ausdruck bewirkt, damit Ihr zukünftiger Selbst- oder nächster Entwickler, der mit Ihrem Code arbeitet, es verstehen kann.
- Entscheiden Sie sich für die Nicht-Regex-Methode, wenn Sie Wert auf Lesbarkeit und Leistung legen, insbesondere wenn Sie mit längeren Zeichenfolgen arbeiten oder diese Konvertierung mehrmals ausführen.
Möchten Sie lernen, wie man shadcn-ui/ui von Grund auf erstellt? Schauen Sie sich Build-from-Scratch
an
Über mich:
Website: https://ramunarasinga.com/
Linkedin: https://www.linkedin.com/in/ramu-narasinga-189361128/
Github: https://github.com/Ramu-Narasinga
E-Mail: ramu.narasinga@gmail.com
Shadcn-ui/ui von Grund auf erstellen
Referenzen:
- https://github.com/supabase/supabase/blob/master/apps/studio/hooks/misc/useIsFeatureEnabled.ts#L16
- https://stackoverflow.com/a/35976812
Das obige ist der detaillierte Inhalt vonKonvertieren Sie mit dieser Funktion in Javascript einen String in camelCase.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Detaillierte Erläuterung der Methode für JavaScript -Zeichenfolge und FAQ In diesem Artikel werden zwei Möglichkeiten untersucht, wie String -Zeichen in JavaScript ersetzt werden: Interner JavaScript -Code und interne HTML für Webseiten. Ersetzen Sie die Zeichenfolge im JavaScript -Code Die direkteste Möglichkeit ist die Verwendung der Ersatz () -Methode: str = str.replace ("find", "ersetzen"); Diese Methode ersetzt nur die erste Übereinstimmung. Um alle Übereinstimmungen zu ersetzen, verwenden Sie einen regulären Ausdruck und fügen Sie das globale Flag G hinzu:: STR = Str.Replace (/fi

Dieses Tutorial zeigt Ihnen, wie Sie eine benutzerdefinierte Google -Such -API in Ihr Blog oder Ihre Website integrieren und ein raffinierteres Sucherlebnis bieten als Standard -WordPress -Themen -Suchfunktionen. Es ist überraschend einfach! Sie können die Suche auf y beschränken

Hier sind Sie also bereit, alles über dieses Ding namens Ajax zu lernen. Aber was genau ist das? Der Begriff AJAX bezieht sich auf eine lose Gruppierung von Technologien, mit denen dynamische, interaktive Webinhalte erstellt werden. Der Begriff Ajax, ursprünglich von Jesse J geprägt

Diese Artikelserie wurde Mitte 2017 mit aktuellen Informationen und neuen Beispielen umgeschrieben. In diesem JSON -Beispiel werden wir uns ansehen, wie wir einfache Werte in einer Datei mit JSON -Format speichern können. Mit der Notation des Schlüsselwertpaares können wir jede Art speichern

Verbessern Sie Ihre Codepräsentation: 10 Syntax -Hochlichter für Entwickler Das Teilen von Code -Snippets auf Ihrer Website oder Ihrem Blog ist eine gängige Praxis für Entwickler. Die Auswahl des richtigen Syntax -Highlighter kann die Lesbarkeit und die visuelle Anziehungskraft erheblich verbessern. T

Nutzen Sie JQuery für mühelose Webseiten -Layouts: 8 Essential Plugins JQuery vereinfacht das Webseitenlayout erheblich. In diesem Artikel werden acht leistungsstarke JQuery -Plugins hervorgehoben, die den Prozess optimieren, insbesondere nützlich für die manuelle Website -Erstellung

Dieser Artikel enthält eine kuratierte Auswahl von über 10 Tutorials zu JavaScript- und JQuery Model-View-Controller-Frameworks (MVC). Diese Tutorials decken eine Reihe von Themen von Foundatio ab

Kernpunkte Dies in JavaScript bezieht sich normalerweise auf ein Objekt, das die Methode "besitzt", aber es hängt davon ab, wie die Funktion aufgerufen wird. Wenn es kein aktuelles Objekt gibt, bezieht sich dies auf das globale Objekt. In einem Webbrowser wird es durch Fenster dargestellt. Wenn Sie eine Funktion aufrufen, wird das globale Objekt beibehalten. Sie können den Kontext mithilfe von Methoden wie CALL (), Apply () und Bind () ändern. Diese Methoden rufen die Funktion mit dem angegebenen Wert und den Parametern auf. JavaScript ist eine hervorragende Programmiersprache. Vor ein paar Jahren war dieser Satz


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung
