2011-07-13 11 views
1

ページに約10,000アイテムを表示するビジネス要件があります(私はそれが気に入らない)。アイテムは、フォルダ、サブフォルダ、ディスクドライブ上のファイルと同様に、親の子関係を介して関連しています。DOM操作とJavascriptデータ構造:フラットまたは構造化?

javascriptデータ構造(内部アプリケーション、は常に有効になります)によって駆動されるようにページを構築したいと考えています。

各レコードに親レコードへのリンクが含まれているフラットなデータ構造を持つ方が一般的に適していますか、一般に、各「フォルダ」には「サブフォルダ」と「ファイル"?

すなわちは:バットオフ

var items = { //flat array 
       {id:1, parentId:0}, 
       {id:2, parentId:1}, 
       {id:3, parentId:1}, 
       {id:4, parentId:2}, 
       {id:5, parentId:2} 
      }; 

var items = { //structured 
      { id: 1, children: { 
       { id: 2, children: { 
       { id: 4 }, 
       { id: 5 }, 
       } }, 
       { id: 3 }, 
      } } 
      }; 

フラットフォーマットが目に簡単に思えるが、サーバーはそのような大したことではありませんので、正直、そのリストを生成します。パフォーマンスはどのように比較されますか?フラットでは、より多くのDOMルックアップ、つまりid=1の要素を見つけ、id=2の要素をDOMと挿入する必要があります。構造化形式には、javascriptコードが構造をナビゲートするように定義されたすべての関係があるため、追加のルックアップを必要とせずにすべてのDOM要素を作成できます。だから、どの方法が一般的により効果的でしょうか?

答えて

0

構造化。よりスケーラブルで、JQueryを使用してDOM内のノードを操作する方が簡単です。

+0

ありがとうございます。どのようにスケーラブルであるかについてもう少し詳細を教えてください。実際の例や合成テストはありますか? –

関連する問題