JS Intl.Collator compare()
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
Specification | Status | Comment |
---|---|---|
[ECMAScript Internationalization API 1.0 (ECMA-402) | ||
The definition of ‘Intl.Collator.prototype.compare’ in that specification.](https://www.ecma-international.org/ecma-402/1.0/#sec-10.3.2) | Standard | Initial definition. |
[ECMAScript Internationalization API 2.0 (ECMA-402) | ||
The definition of ‘Intl.Collator.prototype.compare’ in that specification.](https://www.ecma-international.org/ecma-402/2.0/#sec-10.3.2) | Standard | |
[ECMAScript Internationalization API 4.0 (ECMA-402) | ||
The definition of ‘Intl.Collator.prototype.compare’ in that specification.](https://tc39.es/ecma402/#sec-Intl.Collator.prototype.compare) | Draft |