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
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
string1précèdestring2; - Une valeur positive si
string1suitstring2; - 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().
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 :
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
- L'objet
Intl.Collator - La méthode
String.prototype.localeCompare()