Constructeur Intl.Collator()
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.
Le constructeur Intl.Collator()
crée un objet Intl.Collator
qui permet de comparer des chaînes de caractères en prenant en compte la locale.
Exemple interactif
Syntaxe
new Intl.Collator();
new Intl.Collator(locales);
new Intl.Collator(locales, options);
Paramètres
locales
Facultatif-
Un argument optionnel qui est une balise de langue BCP 47 ou un tableau de telles chaînes. Pour plus de détails sur la forme et l'interprétation de ce paramètres, voir la page
Intl
.Les clés d'extension Unicode suivantes sont autorisées :
Note : Ces clés peuvent généralement être paramétrées avec l'argument
options
(voir ci-après), lorsque ces clés sont indiquées dans les deux paramètres c'estoptions
qui a la priorité.co
-
Les variantes de collation pour certaines locales. Les valeurs possibles sont :
big5han
compat
dict
direct
ducet
eor
gb2312
phonebk
(uniquement pris en charge pour l'allemand)phonetic
pinyin
reformed
searchjl
stroke
trad
unihan
zhuyin
Note : Cette option peut également être définie via la propriété "
collation
" du paramètreoptions
.
kn
-
Indique si une collation numérique devrait être utilisée (par exemple pour avoir "1" < "2" < "10"). Les valeurs possibles sont "
true
" et "false
". Cette option peut également être indiquée via la propriété "numeric
" du paramètreoptions
. kf
-
Indique si les majuscules ou les minuscules devraient être triées en premières. Les valeurs possibles sont "
upper
", "lower
", ou "false
" (qui utilise la valeur par défaut pour la locale). Cette option peut également être indiquée via la propriété "caseFirst
" du paramètreoptions
.
options
Facultatif-
Un objet avec une ou plusieurs propriétés parmi les suivantes :
localeMatcher
-
L'algorithme de correspondance des locales à utiliser. Les valeurs possibles sont "
lookup
" et "best fit
" ; la valeur par défaut est "best fit
". Pour plus d'information, voir la pageIntl
. usage
-
Indique si la comparaison est utilisée pour trier ou pour rechercher des correspondances. Les valeurs possibles sont "
sort
" et "search
", la valeur par défaut est "sort
". sensitivity
-
Indique les différences dans les chaînes de caractères qui entraînent un résultat non nul. Les valeurs possibles sont :
- "
base
" : Seules les chaînes de caractères pour lesquelles les lettres de base sont différentes sont considérées comme différentes. Avec cette option, on a : a ≠ b, a = á, a = A. - "
accent
" : Seules les chaînes de caractères pour lesquelles les lettres de base ou les diacritiques diffèrent sont considérées comme différentes. Avec cette option, on a : a ≠ b, a ≠ á, a = A. - "
case
" : Seules les chaînes de caractères pour lesquelles les lettres de base ou la casse diffèrent sont considérées comme différentes. Avec cette option, on a : a ≠ b, a = á, a ≠ A. - "
variant
" : Seules les chaînes de caractères pour lesquelles les lettres de base, les accents ou autres marques diacritiques ou encore la casse diffèrent, les chaînes sont considérées comme différentes. D'autres différences peuvent également être prises en compte. Avec cette option, on a : a ≠ b, a ≠ á, a ≠ A.
La valeur par défaut est "
variant
" pour l'usage "sort
" ; pour l'usage "search
", la valeur par défaut dépend de la locale. - "
ignorePunctuation
-
Indique si la ponctuation devrait être ignorée. Les valeurs possibles sont
true
etfalse
; la valeur par défaut estfalse
. numeric
-
Indique si une collation numérique devrait être utilisée (afin d'avoir par exemple "1" < "2" < "10"). Les valeurs possibles sont
true
etfalse
; la valeur par défaut estfalse
.Note : Cette option peut également être définie via la clé d'extension Unicode
kn
; si des valeurs sont fournies aux deux endroits, c'est la propriété d'options
qui a la priorité. caseFirst
-
Indique si les majuscules ou les minuscules devraient être triées en premières. Les valeurs possibles sont "
upper
", "lower
", ou "false
" (qui utilisent la valeur par défaut de la locale).Note : Cette option peut également être définie via la clé d'extension Unicode
kf
; si des valeurs sont fournies aux deux endroits, c'est la propriété d'options
qui a la priorité. collation
-
Les variantes de collations pour certaines locales. Les valeurs possibles sont :
big5han
compat
dict
direct
ducet
eor
gb2312
phonebk
(uniquement pris en charge pour l'allemand)phonetic
pinyin
reformed
searchjl
stroke
trad
unihan
zhuyin
Note : Cette option peut également être définie via la clé d'extension Unicode
co
; si des valeurs sont fournies aux deux endroits, c'est la propriété d'options
qui a la priorité.
Exemples
Utiliser Collator()
Dans l'exemple suivant, on illustre la comparaison de deux chaînes de caractères et le résultat obtenu selon que l'une est située avant ou après, ou de façon équivalente selon l'ordre lexicographique de la langue :
console.log(new Intl.Collator().compare("a", "c")); // → une valeur négative
console.log(new Intl.Collator().compare("c", "a")); // → une valeur positive
console.log(new Intl.Collator().compare("a", "a")); // → 0
On notera que les résultats obtenus avec les lignes précédentes peuvent varier d'un navigateur à l'autre et entre les différentes versions. En effet, les valeurs numériques obtenues sont spécifiques aux implémentations et la spécification n'impose que le signe de la valeur obtenue.
Spécifications
Specification |
---|
ECMAScript Internationalization API Specification # sec-the-intl-collator-constructor |
Compatibilité des navigateurs
BCD tables only load in the browser