Intl.Collator() Konstruktor
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2017.
Der Intl.Collator()
-Konstruktor erstellt Intl.Collator
-Objekte.
Probieren Sie es aus
console.log(["Z", "a", "z", "ä"].sort(new Intl.Collator("de").compare));
// Expected output: Array ["a", "ä", "z", "Z"]
console.log(["Z", "a", "z", "ä"].sort(new Intl.Collator("sv").compare));
// Expected output: Array ["a", "z", "Z", "ä"]
console.log(
["Z", "a", "z", "ä"].sort(
new Intl.Collator("de", { caseFirst: "upper" }).compare,
),
);
// Expected output: Array ["a", "ä", "Z", "z"]
Syntax
new Intl.Collator()
new Intl.Collator(locales)
new Intl.Collator(locales, options)
Intl.Collator()
Intl.Collator(locales)
Intl.Collator(locales, options)
Note:
Intl.Collator()
kann mit oder ohnenew
aufgerufen werden. Beide erzeugen eine neue Instanz vonIntl.Collator
.
Parameter
locales
Optional-
Ein String mit einem BCP 47-Sprachtag oder eine
Intl.Locale
Instanz, oder ein Array solcher Sprachkennungen. Die Standard-Lokale der Laufzeit wird verwendet, wennundefined
übergeben wird oder wenn keine der angegebenen Sprachkennungen unterstützt wird. Für die allgemeine Form und Interpretation deslocales
-Arguments siehe die Parameterbeschreibung auf derIntl
-Hauptseite.Die folgenden Unicode-Erweiterungsschlüssel sind erlaubt:
Diese Schlüssel können auch mit
options
gesetzt werden (wie unten aufgeführt). Wenn beide gesetzt sind, hat dieoptions
-Eigenschaft Vorrang. options
Optional-
Ein Objekt, das die folgenden Eigenschaften enthält, in der Reihenfolge, in der sie abgerufen werden (alle sind optional):
usage
-
Ob der Vergleich zum Sortieren einer Liste von Strings oder zum verschwommenen (für das lateinische Schriftsystem diakritik- und groß-/kleinschreibungsempfindlichen) Filtern einer Liste von Strings nach Schlüssel dient. Mögliche Werte sind:
"sort"
(Standard)-
Zum Sortieren einer Liste von Strings.
"search"
-
Zum Filtern einer Liste von Strings, indem jedes Listenelement auf eine vollständige Übereinstimmung mit einem Schlüssel getestet wird. Bei
"search"
sollte der Aufrufer nur darauf achten, obcompare()
Null oder Nicht-Null zurückgibt und nicht zwischen den Nicht-Null-Rückgabewerten unterscheiden. Es ist unangemessen,"search"
zum Sortieren/Reihenfolgen zu verwenden.
localeMatcher
-
Der zu verwendende Lokalisierungs-Abgleichsalgorithmus. Mögliche Werte sind
"lookup"
und"best fit"
; die Standardoption ist"best fit"
. Informationen zu dieser Option finden Sie unter Lokalisierungs-Identifikation und -Verhandlung. collation
-
Variantenkollationen für bestimmte Lokalisierungen, wie zum Beispiel
"emoji"
,"pinyin"
,"stroke"
und so weiter. Hat nur dann eine Wirkung, wennusage
"sort"
ist (da"search"
im Grunde ein eigener Kollationstyp ist). Für eine Liste der unterstützten Kollationstypen sieheIntl.supportedValuesOf()
; die Standardoption ist"default"
. Diese Option kann auch über den Unicode-Erweiterungsschlüsselco
gesetzt werden; wenn beide bereitgestellt werden, hat dieseoptions
-Eigenschaft Vorrang. numeric
-
Ob eine numerische Kollation verwendet werden soll, sodass "1" < "2" < "10". Mögliche Werte sind
true
undfalse
; die Standardeinstellung istfalse
. Diese Option kann auch über den Unicode-Erweiterungsschlüsselkn
gesetzt werden; wenn beide bereitgestellt werden, hat dieseoptions
-Eigenschaft Vorrang. caseFirst
-
Ob Großbuchstaben oder Kleinbuchstaben zuerst sortiert werden sollen. Mögliche Werte sind
"upper"
,"lower"
und"false"
(Verwendung des Standardwerts der Lokalisierung); die Standardeinstellung ist"false"
. Diese Option kann auch über den Unicode-Erweiterungsschlüsselkf
gesetzt werden; wenn beide bereitgestellt werden, hat dieseoptions
-Eigenschaft Vorrang. sensitivity
-
Welche Unterschiede in den Strings zu nicht-null Ergebniswerten führen sollen. Mögliche Werte sind:
"base"
-
Nur Strings, die sich in Grundbuchstaben unterscheiden, werden als ungleich verglichen. Beispiele: a ≠ b, a = á, a = A. Im Unicode-Kollation-Algorithmus entspricht dies der primären Stärkestufe.
"accent"
-
Nur Strings, die sich in Grundbuchstaben oder Akzenten und anderen diakritischen Zeichen unterscheiden, werden als ungleich verglichen. Beispiele: a ≠ b, a ≠ á, a = A. Im Unicode-Kollation-Algorithmus entspricht dies der sekundären Stärkestufe.
"case"
-
Nur Strings, die sich in Grundbuchstaben oder Groß-/Kleinschreibung unterscheiden, werden als ungleich verglichen. Beispiele: a ≠ b, a = á, a ≠ A. Im Unicode-Kollation-Algorithmus entspricht dies der primären Stärkestufe mit Groß-/Kleinschreibungsbehandlung.
"variant"
-
Strings, die sich in Grundbuchstaben, Akzenten und anderen diakritischen Zeichen oder Groß-/Kleinschreibung unterscheiden, werden als ungleich verglichen. Andere Unterschiede können ebenfalls berücksichtigt werden. Beispiele: a ≠ b, a ≠ á, a ≠ A. Im Unicode-Kollation-Algorithmus entspricht dies der tertiären Stärkestufe.
Die Standardeinstellung ist
"variant"
fürusage
"sort"
; fürusage
"search"
ist es je nach Spezifikation lokalisierungsabhängig, aber normalerweise auch"variant"
. Da die Kernfunktionalität von"search"
akzent- und groß-/kleinschreibungsempfindliches Filtern ist, macht es am meisten Sinn, es auf"base"
(und vielleicht"case"
) zu setzen. ignorePunctuation
-
Ob Satzzeichen ignoriert werden sollen. Mögliche Werte sind
true
undfalse
. Die Standardeinstellung isttrue
für Thailändisch (th
) undfalse
für alle anderen Sprachen.
Ausnahmen
RangeError
-
Wird ausgelöst, wenn
locales
oderoptions
ungültige Werte enthalten.
Beispiele
Verwendung von Collator
Das folgende Beispiel zeigt die unterschiedlichen möglichen Ergebnisse für einen String, der vor, nach oder auf derselben Ebene wie ein anderer auftreten kann:
console.log(new Intl.Collator().compare("a", "c")); // -1, or some other negative value
console.log(new Intl.Collator().compare("c", "a")); // 1, or some other positive value
console.log(new Intl.Collator().compare("a", "a")); // 0
Beachten Sie, dass die oben im Code gezeigten Ergebnisse zwischen Browsern und Browserversionen variieren können. Dies liegt daran, dass die Werte implementierungsspezifisch sind. Das heißt, die Spezifikation verlangt nur, dass die Vorher- und Nachher-Werte negativ bzw. positiv sind.
Spezifikationen
Specification |
---|
ECMAScript® 2025 Internationalization API Specification # sec-the-intl-collator-constructor |
Browser-Kompatibilität
BCD tables only load in the browser