The Intl.Collator.prototype.compare()
method compares two strings according to the sort order of this Collator
object.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Syntax
collator.compare(string1, string2)
Parameters
-
string1
-
string2
- The strings to compare against each other.
Description
The compare
getter function returns a number indicating how string1
and string2
compare to each other according to the sort order of this Collator
object: a negative value if string1
comes before string2
; a positive value if string1
comes after string2
; 0 if they are considered equal.
Examples
Using compare
for array sort
Use the compare
getter function for sorting arrays. Note that the function is bound to the collator from which it was obtained, so it can be passed directly to 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"
Using compare
for array search
Use the compare
getter function for finding matching strings in arrays:
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(v => collator.compare(v, s) === 0); console.log(matches.join(', ')); // → "Congrès, congres"
Specifications
Browser compatibility
Desktop | Mobile | Server | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
compare |
Chrome Full support 24 | Edge Full support 12 | Firefox Full support 29 | IE Full support 11 | Opera Full support 15 | Safari Full support 10 | WebView Android No support No | Chrome Android Full support 26 | Firefox Android Full support 56 | Opera Android ? | Safari iOS Full support 10 | Samsung Internet Android Full support 1.5 | nodejs ? |
Legend
- Full support
- Full support
- No support
- No support
- Compatibility unknown
- Compatibility unknown