这是我的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 Doe3。我想循环显示它们并按照给定的位置显示它们。因此正确的顺序应该是John Doe 2,John Doe 1,John Doe 3。

我该如何实现?

最佳答案

您可以在构建显示之前对项目进行排序:

data.event.items.sort(function(a,b) {
   return a.position-b.position;
});


Demonstration(单击“使用JS运行”)

请注意,您的问题中没有JSONdata是普通的JavaScript对象。

关于javascript - 遍历json结果并按数字顺序排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15804599/

10-11 16:19