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 Status Comment
ECMAScript Internationalization API 1.0 (ECMA-402)
The definition of 'Intl.Collator.prototype.compare' in that specification.
Standard Initial definition.
ECMAScript Internationalization API 2.0 (ECMA-402)
The definition of 'Intl.Collator.prototype.compare' in that specification.
Standard  
ECMAScript Internationalization API 4.0 (ECMA-402)
The definition of 'Intl.Collator.prototype.compare' in that specification.
Draft  

Browser compatibility

Update compatibility data on GitHub
Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet Node.js
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

See also