排序一个json列表?

可能重复:
通过JavaScript中的字段值对数组中的对象进行排序

 var myData = [
                  {"Identifier":1,"Naam":"Van Der Valk","Adres":"Europaweg 218","Postcode":"1238AC","Plaats":"Zoetermeer","Longitude":"4.48822","Latitude":"52.06258", "Status":"Laadpunten Beschikbaar", "lunch":"true", "diner":"true", "meet":"true", "wifi":"true", "Distance": "10.1"},
                  {"Identifier":2,"Naam":"Meram place","Adres":"NOT Given 1","Postcode":"0000LL","Plaats":"Rotterdam","Longitude":"4.48178","Latitude":"51.92422", "lunch":"false", "Distance": "181"},
                  {"Identifier":3,"Naam":"Station Zwolle","Adres":"NOT Given 6","Postcode":"0000LL","Plaats":"Zwolle","Longitude":"6.08302","Latitude":"52.51677", "lunch":"false", "Distance": "5.1"},
                  {"Identifier":4,"Naam":"Pompstation Shell","Adres":"NOT Given 1","Postcode":"0000LL","Plaats":"Den Haag","Longitude":"4.30070","Latitude":"52.07050", "lunch":"false"},
                  {"Identifier":5,"Naam":"Amsterdam Arena","Adres":"NOT Given 218","Postcode":"0000LL","Plaats":"Amsterdam","Longitude":"4.89517","Latitude":"52.37022", "lunch":"true", "diner":"true", "wifi":"true", "meet":"true", "Distance": "34.2"}
                  ];

我有一个问题,因为我有上面的JSON ..我想附加这个列表,即UL LI ..怎么可能得到与最低距离等的列表排序


这不是JSON。 它已经是JavaScript对象数组,所以你只需使用.sort()

myData.sort(function(a, b) {
    return (+a.Distance || 0) - (+b.Distance || 0);
});

请注意,如果.Distance的数字转换失败,我将替换为0

请阅读.sort()的MDN文档以了解关于排序JavaScript数组的更多信息。


要创建元素,可以使用$.each()迭代器循环排序的数组。

var list = $("#mylist");

$.each(myData, function(i, obj) {
    $("<li>", {
         text: obj.Naam + ": Distance - " + obj.Distance
    }).appendTo(list);
});
链接地址: http://www.djcxy.com/p/19327.html

上一篇: sorting a json list?

下一篇: How to sort object array based on key in typescript