0

現在、サイト内にデータを入力するために使用している json ファイルがあります。

LVL 1 - メイン コレクション ページ ->

LVL 2 - コレクション詳細ページ ->

LVL 3 - コレクションの詳細ページのスライダー

したがって、これを実現するために、互いにネストされた 3 つの $.each() ステートメントがあります。すべて正常に動作します。これを行うためのより有益な方法があるかどうか疑問に思っていましたか?

コード例:

$j.getJSON('collections.json', function(data, status){
    // lvl 1
    $.each(data.collections, function(i, collection){

     // do your thing

       // lvl 2
        $.each(collection.details, function(v, detail){

          // slider time - lvl 3

          $.each(detail.slider, function(s, slide){

            // inception achieved

          });

        });   

    });
});
4

1 に答える 1

2

そうではありません..これはかなり通常のツリーの反復です。for代わりに通常のループを使用すると、オーバーヘッドを削減できる場合があります$.each

for (var i = 0; i < data.collections.length; i++) {
   var collection = data.collections[i];
   //do your thing
   for (var v = 0; v < collection.details.length; v++) {
      //...
   }
}
于 2012-10-09T15:04:33.110 に答える