Описание
Метод localeCompare() сравнивает одну строку с другой и возвращает одно из трех значений:
- Если строка str должна располагаться по алфавиту перед строковым аргументом compareString, возвращается отрицательное число (обычно -1, но вообще значение может за висеть от реализации браузера и его версии).
- Если строка str равна строковому аргументу compareString, возвращается 0.
- Если строка str должна располагаться по алфавиту после строкового аргумента compareString, возвращается положительное число (обычно 1, но значение опять же может зависеть от реализации).
Синтаксис
str.localeCompare(compareString[, locales[, options]])
- compareString
- Строка, которую нужно сравнить со строковым объектом str.
- locales
- Необязательный параметр. Строка с языковой меткой BCP 47, либо массив таких строк, которые содержат один или несколько тегов языка или языкового стандарта. Если включить несколько строк языкового стандарта, нужно перечислить их в порядке убывания приоритета, чтобы первая запись была предпочитаемым языковым стандартом. Если пропустить этот параметр, то используется языковой стандарт по умолчанию среды выполнения JavaScript. Описание общей формы и интерпретации аргумента
locales
смотрите здесь. - options
- Необязательный параметр. Объект, содержащий одно или несколько свойств, задающих параметры сравнения. Дополнительные сведения смотрите здесь.
Возвращаемое значение
Результатом метода возвращается число, служащее индикатором того, как будут размещаться сравниваемые строки: строка str, из которой вызывается метод localeCompare()
, и строка compareString, переданная аргументом методу при сортировке:
- отрицательное число (обычно -1) означает, что строка вызова при сортировке размещается перед строкой-аргументом;
- ноль означает одинаковый приоритет сравниваемых строк;
- положительное число (обычно 1) означает, что строка вызова при сортировке будет находиться после строки-аргумента.
Примеры
В этом примере строка "green" сравнивается со значениями "black", "green" и "silver". Поскольку строка "black" предшествует по алфавиту строке "green", метод localeCompare()
возвращает 1. Строка "green" равна самой себе, поэтому во втором
случае метод localeCompare()
возвращает О. Строка "silver" располагается по алфавиту после строки "green", поэтому в третьем сравнении возвращается значение -1.
Обратите внимание: Результат сравнения двух строк может сильно различаться в зависимости от браузера и его версии. Происходит это потому, что возвращаемые значения зависят от реализации. То есть, спецификация требует только того, чтобы значение было отрицательным (-1, -2 и т.д.), если строка вызова при сортировке размещается перед строкой-аргументом, и положительным (1, 2 и т.д.) – если после.
Так как возвращаемые значения зависят от реализации, предпочтительнее использовать метод localeCompare() следующим образом:
Комментарии
<code>
, несколько строчек кода — в теги<pre><code>
...ваш код...</code></pre>
.