如何根据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
答案 0 :(得分: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
});
答案 1 :(得分:0)
如果您只是希望它以相反的顺序显示,则可以使用$("show_data").prepend(data)
。这将在div的顶部插入最后一个数据,在底部插入第一个数据。