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

标签 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 顺序按位置对数据进行排序。

我该怎么做?

最佳答案

您需要一个带有距离增量的排序回调。

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/

相关文章:

javascript - Summernote:初始化后设置焦点

javascript - PHP 和 CSS : How to get hover effect for each row of a table?

javascript - 在 vue 文件中的组件内重用少量标记

javascript - 删除不需要的悬停效果

javascript - 观察来自几个 jQuery UI 对话框的事件

javascript - 通过 jquery 在 SVG 中插入 <g> 标签

javascript - 解析输出和样式 xml 数据

javascript - 如何根据日历将 JSON 数据分组到杂草中?

php - 更改json_encode()输出结构

c# - 如何获取JSON字符串中的元素