快速问题。在JavaScript中,.sort方法是否自动使用ASCII顺序对数组中的项目进行排序?我查看了示例等,但没有在任何地方看到明确的答案。此外,有哪些其他按字母顺序对数组进行排序的替代方法?
提前致谢。
提前致谢。
.sort()
),当省略 compare 函数参数时,它会说明:
指定定义排序顺序的函数。如果省略,则根据每个元素的字符串转换,按照每个字符的 Unicode 码点值进行排序。
由于 Unicode 是 ASCII 的超集,因此它确实按 ASCII 顺序进行排序。
除非您像使用“Kleenex”(而不是面部纸)一样使用“ASCII”,否则JavaScript中没有任何内容是ASCII的。特别地,字符串是UTF-16代码单元的计数序列,其中一个或两个代码单元编码一个Unicode代码点。(这适用于Java、.NET、JavaScript、HTML、XML等)
字典序排序对于人类价值文本并不是非常有用。由于您询问按字母表顺序排序,您必须考虑一种特定语言编写系统的字母表。因此,也许您希望将localeCompare
传递给sort
。
["D", "C", "B", "A"].sort();
。它按以下方式排序:"如果省略,则根据每个字符的 Unicode 代码点值对数组进行排序"。 - Spencer Wieczorek