我正在阅读一些json数据并将其列在我的页面上。
json数据中的一个值是得分......" val.score"
这告诉我用户名的分数。
我还添加了一个计数变量。
我需要做的是从最高用户分数开始订购列表。
这是我目前的代码:
var count = 1;
$.each(jsonData.listing, function(key, val) {
$("#output").append('<li>Rank'+count+' username'+val.username+'score'+val.score+'</li>');
count++;
});
答案 0 :(得分:6)
使用sort
:
var count = 1;
var listing = jsonData.listing.sort(function (a, b) { return b.score - a.score; });
$.each(listing, function(key, val) {
$("#output").append('<li>Rank'+count+' username'+val.username+'score'+val.score+'</li>');
count++;
});
答案 1 :(得分:2)
只需在完成清单之前对其进行排序($ .each):
jsonData.listing.sort(function(x,y){
if(x.score === y.score) return 0;
return x.score < y.score ? 1 : -1;
});