我正在读一个看起来像这样的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顺序按位置订购数据
。我该怎么做?
答案 0 :(得分:0)
您需要使用距离的增量进行排序回调。
data.sort(function (a, b) {
return (
checkDistance(fixedlat, fixedlon, a.location.lat, a.location.lon) -
checkDistance(fixedlat, fixedlon, b.location.lat, b.location.lon)
);
});