所以,我有一个很好的数组:
["Mexico", "Belize", "Canada", "US"]
我想从北到南排序。
我想:
["Canada", "US", "Mexico", "Belize"]
如何在javascript中执行此操作?
我有预设的国家/地区。我可以告诉Javascript“嘿,我刚刚给你的那几个国家?把它分类加拿大,美国,墨西哥,伯利兹。”
这是一个静态图形,不必是动态的,硬编码好。
我有: my_array.sort()但我不知道下一步该做什么。在线的所有内容似乎都按数字或字母排序。
FWIW,国家名单就是一个例子。在现实生活中,我试图对政府资金来源进行分类:州,联邦,信托基金,烟草和解。但这是一个非常抽象的问题。最好使用像国家这样具体的东西,没有?
答案 0 :(得分:2)
您可以创建一个返回国家/地区纬度的函数,如:
function getLatitude(country) {
var countries = {
Belize : 17.0667,
Canada : 45.4,
Mexico : 19,
US : 38.8833 // Should this be America?
}
return countries[country];
}
然而,你需要弄清楚纬度是什么 - 也许它是一个质心?也许它来自提供位置纬度的服务?
然后对它们进行排序:
["Mexico", "Belize", "Canada", "US"].sort(function(a, b) {
return getLatitude(a) - getLatitude(b);
});
// ["Belize", "Mexico", "US", "Canada"]
你需要弄清楚如何处理你无法获得自由的位置,如果它们被移除或分类到一端或另一端?