我有一些格式为 JSON 的内容:
places =[
{
"city":"Los Angeles",
"country":"USA",
},
{
"city":"Boston",
"country":"USA",
},
{
"city":"Chicago",
"country":"USA",
},
]
等等……
我正在尝试按城市的字母顺序进行排序,但是遇到了一些问题。我相信我的问题根源似乎在于确定字符(而不是数字)的顺序。 我已经尝试过一个简单的方法:
places.sort(function(a,b) {
return(a.city) - (b.customInfo.city);
});
然而,这个减法不知道该怎么办。有人能帮我解决吗?
<
及其类似符号在字符串比较中使用字典序。内部会逐个检查匹配的字符,当它发现两个不同的Unicode值时就返回,这样就实现了“字典”排序。我还加入了toLowerCase()函数调用作为附加措施,因为比较本身只比较码点值,并不检查大小写。 - Matti Virkkunen