所以,我有一个很好的数组,如下所示:
["Mexico", "Belize", "Canada", "US"]
我想从北到南排序。
我想要:
["Canada", "US", "Mexico", "Belize"]
如何在 JavaScript 中执行此操作?
我有一个预设的国家/地区。我可以告诉 Javascript“嘿,我刚刚给你的那一系列国家?排序加拿大、美国、墨西哥、伯利兹。”
这适用于静态图形,不必是动态的,硬编码即可。
我有: my_array.sort() 但我不知道下一步该做什么。网上的所有内容似乎都按数字或字母排序。
FWIW,国家列表只是一个例子。在现实生活中,我试图对政府资金来源进行分类:州、联邦、信托基金、烟草结算。但这是一个非常抽象的问题。最好使用像国家这样具体的东西,不是吗?
最佳答案
您可以创建一个返回国家/地区纬度的函数,例如:
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"]
您需要弄清楚如何处理无法获取纬度的位置,是否应该将其删除或排序到一端或另一端?
关于javascript - 如何按自定义标准对 javascript 数组进行排序?不按字母或数字排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25550041/