我正在读取一个 json 文件,如下所示:
[
{
"name":"Mark Brown",
"location":{
"lat":50.72423653147234,
"lon":-0.6552093628538713
}
},
{
"name":"Nina Wright",
"location":{
"lat":51.00351657212984,
"lon":0.4104543851588729
}
}
]
然后我有一个循环,它将在我的页面上的列表中显示数据。
$.getJSON(JsonFile, function(List){
var div = document.getElementById('list');
for( var i = 0; i < List.length;i++ ) {
div.innerHTML = div.innerHTML + '<li>'+List[i].name+'</li>';
}
});
这会将列表附加到 <ul id="List"></ul>
这一切都很好,但我需要做的是在将数据附加到我的页面之前按 DESC 顺序按位置对数据进行排序。
我该怎么做?
最佳答案
您需要一个带有距离增量的排序回调。
data.sort(function (a, b) {
return (
checkDistance(fixedlat, fixedlon, a.location.lat, a.location.lon) -
checkDistance(fixedlat, fixedlon, b.location.lat, b.location.lon)
);
});
关于JavaScript 导入 JSON 数据 - 循环按长/纬度位置排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43160281/