Intl.Collator.prototype.compare

The Intl.Collator.prototype.compare property returns a getter function that compares two strings according to the sort order of this Collator object.

Syntax

JavaScript
<var>collator</var>.compare(<var>string1</var>, <var>string2</var>)

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().

JavaScript
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:

JavaScript
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"

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 3.0 (ECMA-402)
The definition of 'Intl.Collator.prototype.compare' in that specification.
Draft  

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 24 29 (29) 11 15 No support
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support No support 26 No support No support No support No support

See also

License

© 2016 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/collator/compare

Collator Internationalization JavaScript Property Prototype