The compare()
method of Intl.Collator instances compares two
strings according to the sort order of this collator object.
Syntax
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.
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:
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"