2017-02-09 3 views
3

Я взял курс JS на веб-сайте, а также в одном из уроков там был кусок кода, который не имеет смысла для меня:Java сравнения строк сценария

enter image description here

код в picture, почему str1 меньше str2?

+1

Можете ли вы включить текст 'javascript' в вопрос? – guest271314

+2

Потому что 'a' приходит до' b'. https://en.wikipedia.org/wiki/Alphabetical_order, https://en.wikipedia.org/wiki/Lexicographic_order –

+0

строки сравниваются по символу по символьному режиму, и каждый символ имеет представление своего кода (Unicode). Наконец, это коды charatcters в обеих строках, которые сравниваются. – curveball

ответ

0

Это сравнивает каждый символ из 0-индекса, например "a"<"b" thi is true. Если равны, то он сравнивает следующий индекс, а затем, ... "aad">"aac", потому что, в два раза, а затем "a"="a""d">"c"

2

Строки сравниваются на основе стандартного лексикографического упорядочения, используя Unicode значения. Это означает, что «а» < «б» и «в»> «B»

Две строки строго равны, если они имеют ту же последовательность символов , одинаковую длину и одинаковые символы в соответствующих позиции. source

var str1 = "aardvark"; 
 
var str2="beluga"; 
 
console.log(str1 < str2);//true 
 
console.log(str1.length < str2.length);//false

0

JavaScript в этом случае будет сравнивать строки lexographically посимвольно, где буква «а» ниже, чем буква «б» и так далее. Он также работает для чисел, а верхний регистр алфавита считается выше, чем нижний регистр.

Итак, в вашем примере 'a' < 'b', и поэтому утверждение верно.

Смежные вопросы