1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
---
title: Intl.Collator.prototype.compare
slug: Web/JavaScript/Reference/Global_Objects/Intl/Collator/compare
tags:
- Collator
- Internationalisation
- Intl
- JavaScript
- Méthode
- Prototype
- Reference
- i18n
translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Collator/compare
original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/Collator/compare
---
{{JSRef}}
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 {{jsxref("Collator")}}.
{{EmbedInteractiveExample("pages/js/intl-collator-prototype-compare.html")}}
## Syntaxe
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 {{jsxref("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 {{jsxref("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
| Spécification | Statut | Commentaires |
| ---------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | -------------------- |
| {{SpecName('ES Int 1.0', '#sec-10.3.2', 'Intl.Collator.prototype.compare')}} | {{Spec2('ES Int 1.0')}} | Définition initiale. |
| {{SpecName('ES Int 2.0', '#sec-10.3.2', 'Intl.Collator.prototype.compare')}} | {{Spec2('ES Int 2.0')}} | |
| {{SpecName('ES Int Draft', '#sec-Intl.Collator.prototype.compare', 'Intl.Collator.prototype.compare')}} | {{Spec2('ES Int Draft')}} | |
## Compatibilité des navigateurs
{{Compat("javascript.builtins.Intl.Collator.compare")}}
## Voir aussi
- {{jsxref("Collator", "Intl.Collator")}}
- {{jsxref("String.prototype.localeCompare()")}}
|