Intl.Collator.prototype.compare()

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.

Die Methode compare() von Intl.Collator-Instanzen vergleicht zwei Zeichenketten gemäß der Sortierreihenfolge dieses collator-Objekts.

Probieren Sie es aus

const enCollator = new Intl.Collator("en");
const deCollator = new Intl.Collator("de");
const svCollator = new Intl.Collator("sv");

console.log(enCollator.compare("z", "a") > 0);
// Expected output: true

console.log(deCollator.compare("z", "ä") > 0);
// Expected output: true

console.log(svCollator.compare("z", "ä") > 0);
// Expected output: false

Syntax

js
compare(string1, string2)

Parameter

string1, string2

Die Zeichenketten, die miteinander verglichen werden sollen.

Rückgabewert

Eine Zahl, die anzeigt, wie string1 und string2 gemäß der Sortierreihenfolge dieses Intl.Collator-Objekts zueinander stehen:

  • Ein negativer Wert, wenn string1 vor string2 steht;
  • Ein positiver Wert, wenn string1 nach string2 steht;
  • 0, wenn sie als gleich angesehen werden.

Beispiele

Verwendung von compare für Array-Sortierung

Verwenden Sie die compare-Funktion zum Sortieren von Arrays. Beachten Sie, dass die Funktion an den collator gebunden ist, von dem sie stammt, sodass sie direkt an Array.prototype.sort() übergeben werden kann.

js
const a = ["Offenbach", "Österreich", "Odenwald"];
const collator = new Intl.Collator("de-u-co-phonebk");
a.sort(collator.compare);
console.log(a.join(", ")); // "Odenwald, Österreich, Offenbach"

Verwendung von compare für Array-Suche

Verwenden Sie die compare-Funktion, um passende Zeichenketten in Arrays zu finden:

js
const a = ["Congrès", "congres", "Assemblée", "poisson"];
const collator = new Intl.Collator("fr", {
  usage: "search",
  sensitivity: "base",
});
const s = "congres";
const matches = a.filter((v) => collator.compare(v, s) === 0);
console.log(matches.join(", ")); // "Congrès, congres"

Spezifikationen

Specification
ECMAScript® 2025 Internationalization API Specification
# sec-intl.collator.prototype.compare

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
compare

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
See implementation notes.

Siehe auch