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.

La méthode Intl.Collator.prototype.compare() compare deux chaînes de caractères en tenant compte des options spécifiées pour la locale et l'ordre de tri dans l'objet Collator.

Exemple interactif

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

Syntaxe

js
collator.compare(chaine1, chaine2);

Paramètres

chaine1, chaine2

Les chaînes de caractères à comparer.

Description

L'accesseur compare renvoie un nombre qui indique le résultat de la comparaison entre chaine1 et chaine2 selon l'ordre de tri de l'objet Collator : la valeur obtenue sera négative si chaine1 précède chaine2, positive si chaine1 succède à chaine2, nulle si les deux chaînes sont considérées égales.

Exemples

Utiliser compare() pour trier un tableau

Dans cet exemple, on utilise la fonction de l'accesseur compare pour trier des tableaux. On observe que la fonction est liée à l'objet Collator, on peut donc directement la passer à la méthode Array.prototype.sort().

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

Utiliser compare() pour chercher dans un tableau

Ici, on utilise la fonction de l'accesseur compare pour trouver les chaînes égales à une chaîne donnée parmi un tableau :

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

Spécifications

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

Compatibilité des navigateurs

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.

Voir aussi