2016-08-30 7 views
-2

私はこの人が私にこの質問をしたインタビューを受けました。誰もがすべての側面を説明できるので、いつどの構造を使うべきか明確なアイデアがあります。javascriptで配列やオブジェクトを使用する方法を決定する方法

+0

データに適した構造を使用 –

+0

簡単にする:名前付きキーが必要ですか?オブジェクト!しないでください?アレイ!残りは意見に基づいています。 – eisbehr

+0

ここにあなたのための良い読書です:http://www.metaltoad.com/blog/javascript-understanding-objects-vs-arrays-and-when-use-them –

答えて

0

アレイ:

  • 配列順序を提供し、ない(少なくともまだ)やるのオブジェクト
  • アレイは、同じタイプの項目でスパースでないリストとして使用される場合、(速度およびメモリフットプリントさえも)に最適化できます。
  • 配列は、このデータ構造で

オブジェクト動作する機能の束を提供します。

  • オブジェクトは辞書としてオブジェクトを使用した
  • より一般的なものです:検索は反復処理よりも高速です適切な項目を見つけるための配列。
    return itemsById[id]
  • 同じ隠しクラスのオブジェクトのコードも最適化することができます。

結論:

アレイ:あなたがリストとしてデータを考える場合は、それらを使用します。同じタイプの方がパフォーマンスが向上しますが、要件ではありません。
より正確には、リストにはギャップがありません(インデックスがありません)、データにはギャップがあるかもしれませんが、リストには含まれてはいけません。リストにギャップがある場合、インデックスは単なる順序を超えた意味を持ち、おそらく数字キーを持つ辞書です。

辞書:プレーン高速検索のための辞書として使用されるオブジェクト。別の言葉で言えば、別の言葉で言えば、アイテムの辞書を持っている/扱っていて、いくつかのプロパティを構成するオブジェクトを扱っているからです。

オブジェクト:「some object」のプロパティの構成。人の体の部分のように。または、データテーブルの「行」:{id, firstName, lastName, ...}
列挙プロパティを避ける。あなたはsthがある場合。 {foo1, foo2, foo3, ...}fooのようなものは、どのようなものでもよく、あなたの人生を楽にしてくれるはずです。
このオブジェクトが辞書でない限り

関連する問題