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
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 ohnenewaufgerufen werden. Beides erzeugt eine neueIntl.CollatorInstanz.
Parameter
localesOptional-
Ein String mit einem BCP 47-Sprach-Tag oder eine
Intl.LocaleInstanz, oder ein Array solcher Sprachkennungen. Die Standard-Lokale des Laufzeitsystems wird verwendet, wennundefinedübergeben wird oder wenn keine der angegebenen Sprachkennungen unterstützt wird. Für die allgemeine Form und Interpretation deslocalesArguments siehe die Parameterbeschreibung auf derIntlHauptseite.Die folgenden Unicode-Erweiterungsschlüssel sind erlaubt:
Diese Schlüssel können auch mit
optionsfestgelegt werden (wie unten aufgeführt). Wenn beide gesetzt sind, hat dieoptionsEigenschaft Vorrang. optionsOptional-
Ein Objekt, das die folgenden Eigenschaften enthält, in der Reihenfolge, in der sie abgerufen werden (alle sind optional):
usage-
Ob der Vergleich für das Sortieren einer Liste von Zeichenfolgen oder für unscharfe (für das lateinische Skript diakritisch insensitive und groß-/kleinschreibung-ignorierende) Filterung einer Liste von Zeichenfolgen nach Schlüssel ist. Mögliche Werte sind:
"sort"(Standard)-
Zum Sortieren einer Liste von Zeichenfolgen.
"search"-
Zum Filtern einer Liste von Zeichenfolgen durch Testen jedes Listenelements auf eine vollständige Übereinstimmung mit einem Schlüssel. Mit
"search"sollte der Anrufer nur darauf achten, obcompare()Null oder Nicht-Null zurückgibt und sollte die Nicht-Null-Rückgabewerte nicht unterscheiden. Das bedeutet, dass es unangemessen ist,"search"für das Sortieren/Anordnen zu verwenden.
localeMatcher-
Der zu verwendende Algorithmus zur Übereinstimmung von Lokalen. Mögliche Werte sind
"lookup"und"best fit"; der Standard ist"best fit". Für Informationen über diese Option siehe Lokale Identifizierung und Verhandlung. collation-
Varianten-Kollationen für bestimmte Lokale, wie
"emoji","pinyin","stroke"usw. Für eine Liste der unterstützten Kollationstypen sieheIntl.Locale.prototype.getCollations(); der Standard ist"default". Diese Option kann auch durch dencoUnicode-Erweiterungsschlüssel gesetzt werden; wenn beide angegeben sind, hat dieseoptionsEigenschaft Vorrang. numeric-
Ob numerische Kollation verwendet werden soll, so dass "1" < "2" < "10". Mögliche Werte sind
trueundfalse; der Standard istfalse. Diese Option kann auch durch denknUnicode-Erweiterungsschlüssel gesetzt werden; wenn beide angegeben sind, hat dieseoptionsEigenschaft Vorrang. caseFirst-
Ob Großbuchstaben oder Kleinbuchstaben zuerst sortiert werden sollen. Mögliche Werte sind
"upper","lower"und"false"(Verwendung des Standardwertes des Lokals); der Standard ist"false". Diese Option kann auch durch denkfUnicode-Erweiterungsschlüssel gesetzt werden; wenn beide angegeben sind, hat dieseoptionsEigenschaft Vorrang. sensitivity-
Welche Unterschiede in den Zeichenfolgen zu Nicht-Null-Ergebnissen führen sollen. Mögliche Werte sind:
"base"-
Nur Zeichenfolgen, die sich in Basisbuchstaben unterscheiden, werden als ungleich verglichen. Beispiele: a ≠ b, a = á, a = A.
"accent"-
Nur Zeichenfolgen, die sich in Basisbuchstaben oder Akzenten und anderen diakritischen Zeichen unterscheiden, werden als ungleich verglichen. Beispiele: a ≠ b, a ≠ á, a = A.
"case"-
Nur Zeichenfolgen, die sich in Basisbuchstaben oder Groß-/Kleinschreibung unterscheiden, werden als ungleich verglichen. Beispiele: a ≠ b, a = á, a ≠ A.
"variant"-
Zeichenfolgen, die sich in Basisbuchstaben, Akzenten und anderen diakritischen Zeichen oder Groß-/Kleinschreibung unterscheiden, werden als ungleich verglichen. Weitere Unterschiede können ebenfalls berücksichtigt werden. Beispiele: a ≠ b, a ≠ á, a ≠ A.
Der Standard ist
"variant"für die Verwendung"sort"; es ist lokalabhängig für die Verwendung"search"gemäß Spezifikation, aber die Kernfunktion von"search"ist die accent-insensitive und case-insensitive Filterung, daher ergibt"base"am meisten Sinn (und vielleicht"case"). ignorePunctuation-
Ob Interpunktion ignoriert werden soll. Mögliche Werte sind
trueundfalse. Der Standard isttruefür Thai (th) undfalsefür alle anderen Sprachen.
Ausnahmen
RangeError-
Wird ausgelöst, wenn
localesoderoptionsungültige Werte enthalten.
Beispiele
Verwendung von Collator
Das folgende Beispiel demonstriert die unterschiedlichen potenziellen Ergebnisse, wenn ein String vor, nach oder auf demselben Level wie ein anderer vorkommt:
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 in dem obigen Code gezeigten Ergebnisse zwischen Browsern und Browserversionen variieren können. Das liegt daran, dass die Werte spezifisch für die Implementierung sind. Das bedeutet, dass die Spezifikation nur erfordert, dass die Werte vor und nach negativ beziehungsweise positiv sind.
Wenn die Verwendung "search" ist, sollte der Anrufer nur darauf achten, ob der Rückgabewert von compare() Null oder Nicht-Null ist. Es ist unangemessen, einen Collator mit der Verwendung "search" zum Sortieren zu verwenden.
Spezifikationen
| Specification |
|---|
| ECMAScript Internationalization API Specification # sec-the-intl-collator-constructor |
Browser-Kompatibilität
BCD tables only load in the browser