0

これは私の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 です。

どうすればそれを達成できますか?

4

2 に答える 2

6

ディスプレイを構築する前にアイテムを並べ替えることができます:

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

デモンストレーション(「Run with JS」をクリック)

問題にJSONdataはなく、プレーンな JavaScript オブジェクトであることに注意してください。

于 2013-04-04T07:06:14.550 に答える
4

最初にアイテムを並べ替える必要があります。

data.event.items.sort(function(item_a, item_b) {
    return item_a.position - item_b.position;
});
于 2013-04-04T07:06:36.650 に答える