Я некоторые JSON, отформатированный как:Сортировка JSON (по конкретному элементу) по алфавиту
places =[
{
"city":"Los Angeles",
"country":"USA",
},
{
"city":"Boston",
"country":"USA",
},
{
"city":"Chicago",
"country":"USA",
},
]
и так далее ...
Я пытаюсь разобраться в этом алфавитном порядке BY CITY и Возникают проблема сделав. Я считаю, что корень моей проблемы, похоже, определяет порядок символов (по сравнению с числами). Я пробовал просто:
places.sort(function(a,b) {
return(a.city) - (b.customInfo.city);
});
все же это вычитание не знает, что делать. Кто-нибудь может мне помочь?
святого дерьма, Матти, я должен тебе пиво. Почему выполняется сравнение между
Сравнение работает, потому что '<' и друзья определены для использования лексикографического упорядочения для строк. Внутри он проверяет каждый соответствующий символ и когда он находит два разных значения Unicode, он возвращает, что приводит к упорядочению «словаря». Вот почему я добавил называть toLowerCase() на всякий случай, потому что само сравнение сравнивает только значения кодовых точек. Он не проверяет случай. –