Intl.Collator.prototype.compare()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2017.
The compare()
method of Intl.Collator
instances compares two
strings according to the sort order of this collator object.
Try it
Syntax
js
compare(string1, string2)
Parameters
string1
,string2
-
The strings to compare against each other.
Return value
A number indicating how string1
and string2
compare to each other according to the sort order of this Intl.Collator
object:
- A negative value if
string1
comes beforestring2
; - A positive value if
string1
comes afterstring2
; - 0 if they are considered equal.
Examples
Using compare for array sort
Use the compare
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()
.
js
const a = ["Offenbach", "Österreich", "Odenwald"];
const 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
function for finding matching strings in arrays:
js
const a = ["Congrès", "congres", "Assemblée", "poisson"];
const collator = new Intl.Collator("fr", {
usage: "search",
sensitivity: "base",
});
const s = "congres";
const matches = a.filter((v) => collator.compare(v, s) === 0);
console.log(matches.join(", ")); // "Congrès, congres"
Specifications
Specification |
---|
ECMAScript Internationalization API Specification # sec-intl.collator.prototype.compare |
Browser compatibility
BCD tables only load in the browser