La propriété Intl.Collator.prototype.compare
est un accesseur qui renvoie une fonction qui 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
.
Syntaxe
collator.compare(chaine1, chaine2)
Paramètres
chaine1
chaine2
- Les chaînes de caractères à comparer.
Description
La fonction renvoyée par compare
retourne 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 renvoyée par 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()
.
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 renvoyée par compare
pour trouver les chaînes égales à une chaîne donnée parmi tableau :
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
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Support simple | 24 | 29 (29) | 11 | 15 | Pas de support |
Fonctionnalité | Android | Chrome pour Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support simple | Pas de support | 26 | Pas de support | Pas de support | Pas de support | Pas de support |