javascript - 你能帮我理解 sort() 在 Javascript 中是如何工作的吗?

标签 javascript arrays sorting unicode

我大体上知道这个方法在 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/

相关文章:

javascript - 正则表达式中的转义插入符号 '^'

php - Echo Ajax - PHP、AJAX、Jquery

ios - 将字节数组代码从 c 转换为 swift

java - 如何查找数组中的反转次数?

c - 不传递指针的函数对数组进行排序

java - 如何对水平分区数据进行排序

javascript - 递归地从对象数组中选择一个字段

javascript - AngularJS指令如何在条件下显示/隐藏自定义(附加)元素

javascript - 项目未从数组中删除

PHP 数组...空括号的含义是什么?