ページに約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
要素を作成できます。だから、どの方法が一般的により効果的でしょうか?
ありがとうございます。どのようにスケーラブルであるかについてもう少し詳細を教えてください。実際の例や合成テストはありますか? –