在JavaScript中比较字符串时,为什么一个字符串比另一个字符串大?

我从一本书中看到以下代码:

var a = "one";
var b = "four";
a>b; // will return true

但没有提到为什么“一个”大于“四个”。 我尝试了c = "a",它小于a和b。 我想知道JavaScript如何比较这些字符串。

patriot7 asked 2020-08-10T19:54:56Z
3个解决方案
42 votes

因为和许多编程语言一样,字符串是按字典顺序进行比较的。

您可以将其视为字母顺序的一种较高级的版本,区别在于字母顺序仅涵盖了26个字符az


这个答案是对Java问题的回答,但是逻辑是完全相同的。 另一个好方法:字符串比较“逻辑”。

Matt Ball answered 2020-08-10T19:55:11Z
11 votes

“一个”以“ o”开头,“四个”以“ f”开头,“ o”在字母表中晚于“ f”,因此“一个”大于“四个”。 有关JavaScript字符串比较的一些不错的示例,请参见本页(带有说明!)。

Paul answered 2020-08-10T19:55:31Z
3 votes

Javascript对>运算符使用字典顺序。 'f'继续为'o',因此比较值“ one”>“ four”返回true

martin answered 2020-08-10T19:55:51Z
translate from https://stackoverflow.com:/questions/7087811/why-is-one-string-greater-than-the-other-when-comparing-strings-in-javascript