排序字符串应该在e之前

时间:2013-07-03 17:57:26

标签: javascript string sorting

如果我正在排序两个字符串咖啡馆和咖啡馆,那么最佳做法是遵循哪个字母首先出现?我在javascript中测试了localeCompare,咖啡馆在咖啡馆之前来了,但我不明白为什么。

2 个答案:

答案 0 :(得分:4)

最佳做法是先排序没有变音符号,即。咖啡馆来到咖啡馆。

localeCompare通过剥离变音符来起作用,因此排序顺序并不反映真实的单词,因为咖啡馆变成了咖啡馆

您可以在此处阅读有关localeCompare的更多信息:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare

答案 1 :(得分:2)

https://en.wikipedia.org/wiki/Collation

文本的排序方式取决于文本的完成方式。

一种传统是字符的“US-ASCII”表示,特别是在C编程语言中。当文本按ASCII排序时,顺序仅取决于ASCII规范中每个字符的数值。有时这被称为“C”语言环境。

现代软件通常应使用合适的区域设置,以便按照人们期望的方式进行排序,而不管计算机使用的字符的数字表示形式。

另见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare