Intl.Collator.prototype.compare()

The Intl.Collator.prototype.compare() method 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 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"

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

Specification
ECMAScript Internationalization API (ECMA-402)
The definition of 'Intl.Collator.prototype.compare' in that specification.

Browser compatibility

DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
compareChrome Full support 24Edge Full support 12Firefox Full support 29IE Full support 11Opera Full support 15Safari Full support 10WebView Android Full support 4.4Chrome Android Full support 25Firefox Android Full support 56Opera Android Full support 14Safari iOS Full support 10Samsung Internet Android Full support 1.5nodejs Full support 0.12
Notes
Full support 0.12
Notes
Notes Before version 13.0.0, only the locale data for en-US is available by default. See the Collator() constructor for more details.

Legend

Full support
Full support
See implementation notes.
See implementation notes.

See also