JavaScript导入JSON数据 - 循环以按长/纬度位置排序

时间:2017-04-01 18:04:39

标签: javascript jquery json

我正在读一个看起来像这样的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顺序按位置订购数据

我该怎么做?

1 个答案:

答案 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)
    );
});