Ich schaue mir die lodash-Dokumente und andere Fragen zum Stapelüberlauf an. Es gibt zwar mehrere native JavaScript-Methoden, um diese Aufgabe auszuführen , aber es gibt eine Möglichkeit, eine Zeichenfolge mit reinen lodash-Funktionen (oder zumindest vorhandenen prototypischen Funktionen) in eine Groß- und Kleinschreibung umzuwandeln. damit ich keinen regulären Ausdruck verwenden oder eine neue Funktion definieren muss?
z.B
This string ShouLD be ALL in title CASe
soll werden
This String Should Be All In Title Case
javascript
lodash
Brandonscript
quelle
quelle
Antworten:
Dies kann mit einer kleinen Modifikation von
startCase
:Code-Snippet anzeigen
quelle
_.startCase("aaa BBB ccc") === "Aaa BBB Ccc"
startCase
.:
, das ist ein Problem.Bei nicht benutzergeneriertem Text werden mehr Fälle als die akzeptierte Antwort behandelt
quelle
mit lodash Version 4.
_.upperFirst(_.toLower(str))
quelle
startCase
weil er mehr Buchstaben als az verarbeiten kann, zum Beispiel å, ä und ö.quelle
upperFirst
anstelle von verwendet werdencapitalize
._.startCase
entfernt Interpunktion. Beispiel_.startCase('first second etc...
gibt die Zeichenfolge zurückFirst Second Etc
startCase
zum Beispiel alles in ein Leerzeichen konvertiertuser_name
wirdUser Name
, und ich wollte nurUser_name
wie dietext-transform: capitalize
Eigenschaft von CSSEs gibt gemischte Antworten auf diese Frage. Einige empfehlen die Verwendung,
_.upperFirst
andere empfehlen_.startCase
.Kennen Sie den Unterschied zwischen ihnen.
i)
_.upperFirst
transformiert den ersten Buchstaben Ihrer Zeichenfolge, dann kann die Zeichenfolge aus einem einzelnen Wort oder mehreren Wörtern bestehen, aber der einzige erste Buchstabe Ihrer Zeichenfolge wird in Großbuchstaben umgewandelt._.upperFirst('jon doe')
Ausgabe:
Jon doe
Überprüfen Sie die Dokumentation https://lodash.com/docs/4.17.10#upperFirst
ii)
_.startCase
transformiert den ersten Buchstaben jedes Wortes in Ihrer Zeichenfolge._.startCase('jon doe')
Ausgabe:
Jon Doe
https://lodash.com/docs/4.17.10#startCase
quelle
_.lower()
.Hier ist eine Möglichkeit, NUR lodash-Methoden und keine integrierten Methoden zu verwenden:
quelle
Sie können die Kartenfunktion auch aufteilen, um separate Wörter zu erstellen
quelle
Sofern ich es nicht verpasst habe, hat lodash keine eigenen Methoden für Klein- / Großbuchstaben.
quelle
_.upperFirst
gilt nur für das erste Zeichen (ein Synonym für_.capitalize()
?)capitalize
undupperFirst
verschiedene Dinge tun.Nicht so prägnant wie die Antwort von @ 4castle, aber dennoch beschreibend und voll ...
quelle
Hier ist eine weitere Lösung für meinen Anwendungsfall: "Devil's Backbone"
Einfach:
Die Verwendung von startCase würde das Apostroph entfernen, daher musste ich diese Einschränkung umgehen. Die anderen Lösungen schienen ziemlich kompliziert zu sein. Ich mag das, weil es sauber und leicht zu verstehen ist.
quelle
Dies kann nur mit lodash erfolgen
quelle
var words = ._words
Der folgende Code funktioniert einwandfrei:
quelle
mit lodash 4 können Sie _.capitalize () verwenden
_.capitalize('JOHN')
Es gibt 'John' zurückWeitere Informationen finden Sie unter https://lodash.com/docs/4.17.5#capitalize
quelle