Name
String.localeCompare() — compare one string to another, using locale-specific ordering
Synopsis
string
.
localeCompare
(
target
)
Arguments
target
A
string
to be compared, in a locale-sensitive fashion, withstring
.
Returns
A number that indicates the result of the comparison. If
string
is “less than”
target
, 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.
Description
When the <
and >
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.
Example
You can use code like the following to sort an array of strings into a locale-specific ordering:
var
strings
;
// The array of strings to sort; initialized elsewhere
strings
.
sort
(
function
(
a
,
b
)
{
return ...
Get JavaScript: The Definitive Guide, 6th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.