Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Die localeCompare() Methode von String Werten gibt eine Zahl zurück, die angibt, ob diese Zeichenkette vor, nach oder gleich der angegebenen Zeichenkette in der Sortierreihenfolge kommt. In Implementierungen mit Unterstützung für die Intl.Collator API delegiert diese Methode an Intl.Collator.
Beim Vergleich einer großen Anzahl von Zeichenketten, wie zum Beispiel beim Sortieren großer Arrays, ist es besser, ein Intl.Collator Objekt zu erstellen und die von seiner compare() Methode bereitgestellte Funktion zu verwenden.
Die Parameter locales und options passen das Verhalten der Funktion an und ermöglichen es Anwendungen, die Sprache anzugeben, deren Formatierungskonventionen verwendet werden sollen.
In Implementierungen, die die Intl.Collator API unterstützen, entsprechen diese Parameter genau den Parametern des Intl.Collator() Konstruktors. Implementierungen ohne Intl.Collator Unterstützung sollten beide Parameter ignorieren, was dazu führt, dass das zurückgegebene Vergleichsergebnis vollständig von der Implementierung abhängt — es muss lediglich konsistent sein.
compareStringDie Zeichenkette, mit der referenceStr verglichen wird. Alle Werte werden in Zeichenketten umgewandelt, daher führt das Auslassen oder Übergeben von undefined dazu, dass localeCompare() mit der Zeichenkette "undefined" vergleicht, was selten erwünscht ist.
locales OptionalEine Zeichenkette mit einem BCP 47-Sprachtag oder ein Array solcher Zeichenketten. Entspricht dem locales Parameter des Intl.Collator() Konstruktors.
In Implementierungen ohne Intl.Collator Unterstützung wird dieser Parameter ignoriert und normalerweise die Locale des Hosts verwendet.
options OptionalEin Objekt, das das Ausgabeformat anpasst. Entspricht dem options Parameter des Intl.Collator() Konstruktors.
In Implementierungen ohne Intl.Collator Unterstützung wird dieser Parameter ignoriert.
Siehe den Intl.Collator() Konstruktor für Details zu den locales und options Parametern und wie man sie verwendet.
Eine negative Zahl, wenn referenceStr vor compareString steht; positiv, wenn referenceStr nach compareString steht; 0, wenn sie gleichwertig sind.
In Implementierungen mit Intl.Collator entspricht dies new Intl.Collator(locales, options).compare(referenceStr, compareString).
Gibt eine ganze Zahl zurück, die angibt, ob referenceStr vor, nach oder gleichwertig mit compareString kommt.
Warnung: Verlassen Sie sich nicht auf exakte Rückgabewerte von -1 oder 1!
Negative und positive ganzzahlige Ergebnisse variieren zwischen Browsern (sowie zwischen Browser-Versionen), da die ECMAScript-Spezifikation nur negative und positive Werte vorschreibt. Einige Browser können -2 oder 2 oder sogar andere negative oder positive Werte zurückgeben.
localeCompare() ermöglicht eine Groß- und Kleinschreibung ignorierende Sortierung eines Arrays.
Die Argumente locales und options werden noch nicht in allen Browsern unterstützt.
Um zu prüfen, ob eine Implementierung sie unterstützt, verwenden Sie das "i" Argument (ein Erfordernis, dass ungültige Sprach-Tags abgelehnt werden) und suchen nach einer RangeError Ausnahme:
Die Ergebnisse, die durch localeCompare() bereitgestellt werden, variieren zwischen den Sprachen. Um die Sortierreihenfolge der in der Benutzeroberfläche Ihrer Anwendung verwendeten Sprache zu erhalten, stellen Sie sicher, dass Sie diese Sprache (und möglicherweise einige Fallback-Sprachen) mit dem locales Argument angeben:
Die von localeCompare() bereitgestellten Ergebnisse können mit dem options Argument angepasst werden:
| ECMAScript® 2027 Language Specification # sec-string.prototype.localecompare |
| ECMAScript® 2027 Internationalization API Specification # sup-String.prototype.localeCompare |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.