String.localeCompare() — compare one string to another, using locale-specific ordering
stringto be compared, in a locale-sensitive fashion, with
A number that indicates the result of the comparison. If
string is “less than”
localeCompare() returns a number less
than zero. If
string is “greater than”
target, the method returns a number
greater than zero. And if the strings are identical or
indistinguishable according to the locale ordering conventions,
the method returns 0.
> operators are applied to strings,
they compare those strings using only the Unicode encodings of those
characters and do not consider the collation order of the current
locale. The ordering produced in this way is not always correct.
Consider Spanish, for example, in which the letters “ch” are
traditionally sorted as if they were a single letter that appeared
between the letters “c” and “d”.
localeCompare() provides a
way to compare strings that does take the collation order of the
default locale into account. The ECMAScript standard does not
specify how the locale-specific comparison is done; it merely
specifies that this function utilize the collation order provided by
the underlying operating system.
You can use code like the following to sort an array of strings into a locale-specific ordering:
// The array of strings to sort; initialized elsewhere