Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Intl.Collator : méthode compare()

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2017.

La méthode compare() des instances de Intl.Collator compare deux chaînes de caractères selon l'ordre de tri de cet objet de comparaison.

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);
// Résultat attendu : true

console.log(deCollator.compare("z", "ä") > 0);
// Résultat attendu : true

console.log(svCollator.compare("z", "ä") > 0);
// Résultat attendu : false

Syntaxe

js
compare(string1, string2)

Paramètres

string1, string2

Les chaînes de caractères à comparer entre elles.

Valeur de retour

Un nombre indiquant comment string1 et string2 se comparent entre elles selon l'ordre de tri de cet objet de comparaison :

  • Une valeur négative si string1 précède string2 ;
  • Une valeur positive si string1 suit string2 ;
  • 0 si elles sont considérées comme égales.

Exemples

Utiliser la méthode 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
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"

Utiliser la méthode compare() pour chercher dans un tableau

Utiliser la fonction compare pour trouver les chaînes de caractères correspondantes dans des tableaux :

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"

Spécifications

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

Compatibilité des navigateurs

Voir aussi