如何按ID值从新到旧的顺序对JSON进行排序?

HTML:

<script>
 $(document).ready(function() {
    var url = "json.php";
        $.getJSON(url, function(result) {
        console.log(result);
        $.each(result, function(i, field) {
           var id = field.id;
           var name = field.name;
           var category = field.category;
             $("#show_data").append("<li class='item'>"+"<div>"+ id +"</div>"+  "<p>"+  name +"</p>" +"<p>" +  category +"</p></li>");
        });
    });
});</script><body><ul><div id="show_data"></div><ul>


Json.php:

[{
    "id": "1",
    "name": "Mary",
    "category": "eng"
}, {
    "id": "2",
    "name": "Peter",
    "category": "super"
}, {
    "id": "3",
    "name": "Ben",
    "category": "math"
}]


结果:

id:1
name:Mary
category:eng

id:2
name:Peter
category:super

id:3
name:Ben
category:math


我希望结果是:

id:3
name:Ben
category:math

id:2
name:Peter
category:super
id:1

name:Mary
category:eng

id:3 --> id-->2 id:--1

最佳答案

在操作dom之前,按result降序对id进行排序

var sortedResult = result.sort(function(a, b) {
  return b.id - a.id
})
$.each(sortedResult, function(i, field) {
  // Rest of the code
});

10-08 13:54
查看更多