这是我的json:
{"event": {
"items": [
{"position": "2", "name": "John Doe 1"},
{"position" : "1", "name": "John Doe 2"},
{"position": "3", "name": "John Does 3"}
]
}
这是我在阅读json结果后循环结果的方法:
$.each(data.event.items, function(val) {
$('#list').append('<li>'+data.event.items[val].name+'</li>');
});
现在订单是:John Doe 1,John Doe 2,John Doe 3.我想循环它们并按照已经给出的位置顺序显示它们。所以正确的顺序是John Doe 2,John Doe 1,John Doe 3。
我怎样才能做到这一点?
答案 0 :(得分:6)
您可以在构建显示之前对项目进行排序:
data.event.items.sort(function(a,b) {
return a.position-b.position;
});
Demonstration(点击“使用JS运行”)
请注意,您的问题中没有JSON,data
是一个普通的JavaScript对象。
答案 1 :(得分:4)
您需要先对项目进行排序:
data.event.items.sort(function(item_a, item_b) {
return item_a.position - item_b.position;
});