| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare | [Back] [Original] |
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 Gerten und in vielen Browserversionen. Sie ist seit Juli 2015 browserbergreifend verfgbar.
Die localeCompare() Methode von String Werten gibt eine Zahl zurck, die angibt, ob diese Zeichenkette vor, nach oder gleich der angegebenen Zeichenkette in der Sortierreihenfolge kommt. In Implementierungen mit Untersttzung fr die Intl.Collator API delegiert diese Methode an Intl.Collator.
Beim Vergleich einer groen Anzahl von Zeichenketten, wie zum Beispiel beim Sortieren groer Arrays, ist es besser, ein Intl.Collator Objekt zu erstellen und die von seiner compare() Methode bereitgestellte Funktion zu verwenden.
const a = "rserv"; // With accents, lowercase
const b = "RESERVE"; // No accents, uppercase
console.log(a.localeCompare(b));
// Expected output: 1
console.log(a.localeCompare(b, "en", { sensitivity: "base" }));
// Expected output: 0
localeCompare(compareString)
localeCompare(compareString, locales)
localeCompare(compareString, locales, options)
Die Parameter locales und options passen das Verhalten der Funktion an und ermglichen es Anwendungen, die Sprache anzugeben, deren Formatierungskonventionen verwendet werden sollen.
In Implementierungen, die die Intl.Collator API untersttzen, entsprechen diese Parameter genau den Parametern des Intl.Collator() Konstruktors. Implementierungen ohne Intl.Collator Untersttzung sollten beide Parameter ignorieren, was dazu fhrt, dass das zurckgegebene Vergleichsergebnis vollstndig von der Implementierung abhngt es muss lediglich konsistent sein.
compareStringDie Zeichenkette, mit der referenceStr verglichen wird. Alle Werte werden in Zeichenketten umgewandelt, daher fhrt das Auslassen oder bergeben von undefined dazu, dass localeCompare() mit der Zeichenkette "undefined" vergleicht, was selten erwnscht 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 Untersttzung 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 Untersttzung wird dieser Parameter ignoriert.
Siehe den Intl.Collator() Konstruktor fr 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 zurck, die angibt, ob referenceStr vor, nach oder gleichwertig mit compareString kommt.
referenceStr vor compareString stehtreferenceStr nach compareString steht0 zurck, wenn sie gleichwertig sindWarnung:
Verlassen Sie sich nicht auf exakte Rckgabewerte 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 knnen -2 oder 2 oder sogar andere negative oder positive Werte zurckgeben.
// The letter "a" is before "c" yielding a negative value
"a".localeCompare("c"); // -2 or -1 (or some other negative value)
// Alphabetically the word "check" comes after "against" yielding a positive value
"check".localeCompare("against"); // 2 or 1 (or some other positive value)
// "a" and "a" are equivalent yielding a neutral value of zero
"a".localeCompare("a"); // 0
localeCompare() ermglicht eine Gro- und Kleinschreibung ignorierende Sortierung eines Arrays.
const items = ["rserv", "Premier", "Clich", "communiqu", "caf", "Adieu"];
items.sort((a, b) => a.localeCompare(b, "fr", { ignorePunctuation: true }));
// ['Adieu', 'caf', 'Clich', 'communiqu', 'Premier', 'rserv']
Die Argumente locales und options werden noch nicht in allen Browsern untersttzt.
Um zu prfen, ob eine Implementierung sie untersttzt, verwenden Sie das "i" Argument (ein
Erfordernis, dass ungltige Sprach-Tags abgelehnt werden) und suchen nach einer
RangeError Ausnahme:
function localeCompareSupportsLocales() {
try {
"foo".localeCompare("bar", "i");
} catch (e) {
return e.name === "RangeError";
}
return false;
}
Die Ergebnisse, die durch localeCompare() bereitgestellt werden, variieren zwischen den Sprachen. Um die Sortierreihenfolge der in der Benutzeroberflche Ihrer Anwendung verwendeten Sprache zu erhalten, stellen Sie sicher, dass Sie diese Sprache (und mglicherweise einige Fallback-Sprachen) mit dem
locales Argument angeben:
console.log("".localeCompare("z", "de")); // a negative value: in German, sorts before z
console.log("".localeCompare("z", "sv")); // a positive value: in Swedish, sorts after z
Die von localeCompare() bereitgestellten Ergebnisse knnen mit dem
options Argument angepasst werden:
// in German, has a as the base letter
console.log("".localeCompare("a", "de", { sensitivity: "base" })); // 0
// in Swedish, and a are separate base letters
console.log("".localeCompare("a", "sv", { sensitivity: "base" })); // a positive value
// by default, "2" > "10"
console.log("2".localeCompare("10")); // 1
// numeric using options:
console.log("2".localeCompare("10", undefined, { numeric: true })); // -1
// numeric using locales tag:
console.log("2".localeCompare("10", "en-u-kn-true")); // -1
| Spezifikation |
|---|
| ECMAScript 2027 LanguageSpecification # sec-string.prototype.localecompare |
| ECMAScript 2027 Internationalization API Specification # sup-String.prototype.localeCompare |
Stringanchor()at()big()blink()bold()charAt()charCodeAt()codePointAt()concat()endsWith()fixed()fontcolor()fontsize()includes()indexOf()isWellFormed()italics()lastIndexOf()link()localeCompare()match()matchAll()normalize()padEnd()padStart()repeat()replace()replaceAll()search()slice()small()split()startsWith()strike()sub()substr()substring()sup()toLocaleLowerCase()toLocaleUpperCase()toLowerCase()toString()toUpperCase()toWellFormed()trim()trimEnd()trimStart()valueOf()[Symbol.iterator]()Object/FunctionDer Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |