1

私はいくつかのJSONデータを持っています:

{  
  "113":{"id":"113","title":"Coal","hex":"4f4f4f"},
  "116":{"id":"116","title":"White","hex":"fdfbf7"},
  "115":{"id":"115","title":"Greylead","hex":"b3b3b3"}
}

次のようにアクセスできるデータ属性のマークアップにあります。

var arr = $("#element).data('arr');

そして、各アイテムを処理します。そのようです:

$.each( arr, function( index, obj ){ 
   console.log( obj.title + ' is #' + obj.hex );
}

ただし、データ内のアイテムの順序は保持されていません。

$.eachアイテムが実際に配列内にある順序ではなく、データ内の各アイテムの先頭の番号で反復しているようです。113、116、115 (データ内の項目の実際の順序) ではなく、113、115、116 の順序で出力が得られます。

実際の順序でアイテムをどのように反復処理しますか?

4

2 に答える 2

0

このサイト http://json.parser.online.frにアクセスして、これを貼り付けてください

   {  
    "113":{"id":"113","title":"Coal","hex":"4f4f4f"},
    "116":{"id":"116","title":"White","hex":"fdfbf7"},
    "115":{"id":"115","title":"Greylead","hex":"b3b3b3"}
   }

JSON.parse が ORDER を維持し、 eval('('+data+')') が INDEX を維持している場合、あなたの答えが得られると思います。次に、単純なループを実行して、他のジョブを実行します。

于 2013-06-09T15:03:33.670 に答える