The Intl.Collator.prototype.compare
property returns a getter function that compares two strings according to the sort order of this Collator
object.
Syntax
collator.compare(string1, string2)
Parameters
string1
string2
- The strings to compare against each other.
Description
The function returned by the compare
getter 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 sort array
Use the function returned by the compare
getter 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 search in array
Use the function returned by the compare
getter 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
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 24 | (Yes) | 29 (29) | 11 | 15 | No support |
Feature | Android | Chrome for Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Basic support | No support | 26 | (Yes) | 54.0 (54) (nightly-only) | No support | No support | No support |