Я пытаюсь сравнить 2 строки по алфавиту для сортировки. Например, я хочу иметь логическую проверку вроде if('aaaa' < 'ab')
. Я пробовал, но он не дает мне правильных результатов, поэтому я думаю, что это неправильный синтаксис. Как мне это сделать в jquery или Javascript?
javascript
jquery
одного возраста
источник
источник
'aaaa' < 'ab'
возвращаетсяtrue
. <! - ложное редактирование для удаления голоса ->Ответы:
Давайте посмотрим на некоторые тестовые примеры - попробуйте запустить следующие выражения в консоли JS:
Все вернулось верно.
JavaScript сравнивает строки посимвольно, и «a» стоит перед «b» в алфавите - следовательно, меньше чем.
В вашем случае это работает так -
сравнивает первые два символа "a" - все равны, давайте перейдем к следующему символу.
сравнивает вторые символы «а» с «б» - ох! «а» стоит перед «б». Возвращает истину.
источник
"a" < "b" === true
"a" < "B" === false
.Вы говорите, что сравнение предназначено для сортировки. Тогда я предлагаю вместо этого:
Она возвращает
-1
так"a" < "b"
,1
или0
иначе, как вам нужно для Array.prototype.sort ()Имейте в виду, что сортировка зависит от региона. Например, в немецком языке
ä
это вариантa
, поэтому"ä".localeCompare("b", "de-DE")
возвращается-1
. В шведском языкеä
это одна из последних букв алфавита, поэтому"ä".localeCompare("b", "se-SE")
возвращается1
.Без второго параметра
localeCompare
используется локаль браузера. По моему опыту, это никогда не то, что мне нужно, потому что тогда он будет сортировать иначе, чем сервер, у которого есть фиксированная локаль для всех пользователей.источник
"aa".localeCompare("ab")
== "aa" .localeCompare ("Ab") для любого языкового стандарта, о котором я могу думать) и работает даже в старых версиях IE. Должен быть принятый ответ!Просто помните, что сравнение строк, например "x"> "X", чувствительно к регистру.
Вы можете использовать
.toLowerCase()
для сравнения без учета регистра.источник
"a".localeCompare("b")
должен действительно вернуться,-1
так какa
сортирует доb
http://www.w3schools.com/jsref/jsref_localecompare.asp
источник
Допустим, у нас есть массив объектов:
тогда мы можем отсортировать наш массив следующим образом:
Примечание: будьте осторожны с заглавными буквами, вам может потребоваться перевести строку в нижний регистр из-за вашей цели.
источник