我大体上知道这个方法在 javascript 中是如何工作的,但我不明白如何使用 UNICODE 对数组进行排序...
示例:
var fruits = [
["caldera Cuicocha",1],
["Telica",2],
];
我认为顺序没有改变,因为字母“t”之前的字母“c”...
但是用
fruits.sort();
输出是这样的:
//Telica
//caldera Cuicocha
你能告诉我为什么吗? unicode 字符的计算是怎么回事?
最佳答案
sort
默认比较字符串。这意味着,["caldera Cuicocha",1]
和 ["Telica",2]
都首先转换为字符串:"caldera Cuicocha,1"
和 “Telica,2”
。将 Array
转换为字符串等同于使用 ,
将其join
。
现在您已经正确地注意到排序是基于 Unicode 的。大写字母在小写字母之前,但是:
Char Hex-Code
A 41
B 42
… …
Z 5A
… …
a 61
b 62
… …
z 7A
sort
按预期对数组进行排序,"caldera Cuicocha,1"
after "Telica,2"
.
关于javascript - 你能帮我理解 sort() 在 Javascript 中是如何工作的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31899949/