按字母顺序比较2个string以进行sorting

我试图比较2个string的sorting目的。 例如,我想要一个布尔检查,如if('aaaa' < 'ab') 。 我试过了,但是没有给我正确的结果,所以我想这不是正确的语法。 我如何在jQuery或Javascript中做到这一点?

让我们看看一些testing用例 – 尝试在JS控制台中运行以下expression式:

 "a" < "b" "aa" < "ab" "aaa" < "aab" 

所有返回true。

JavaScript比较string和字母“a”在字母“b”之前 – 因此小于。

在你的情况下,它就像这样 –

1。 “aaa”<“a b”

比较前两个“a”字符 – 全部相等,让我们移动到下一个字符。

2。 “a aa”“a b”

比较第二个字符“a”和“b” – 呐喊! “a”在“b”之前。 返回true。

你说的比较是为了sorting的目的。 然后我build议:

 "a".localeCompare("b"); 

它返回-1因为"a" < "b" ,否则10 ,就像你需要Array.prototype.sort()

请记住,sorting依赖于语言环境。 例如在德语中, ä是a的变体,因此"ä".localeCompare("b", "de-DE")返回-1 。 在瑞典语中, ä是字母表中最后一个字母之一,所以"ä".localeCompare("b", "se-SE")返回1

如果没有localeCompare的第二个参数,则使用浏览器的语言环境。 根据我的经验,这绝不是我想要的,因为那样它的sorting方式与服务器的sorting方式不同,服务器的所有用户都有一个固定的语言环境。

只要记住string比较像“x”>“X”是区分大小写的

 "aa" < "ab" //true "aa" < "Ab" //false 

"a".localeCompare("b")实际上应该返回-1因为b之前asorting

http://www.w3schools.com/jsref/jsref_localecompare.asp