2017-02-22 4 views
1

JavaScriptで衝突検出器を作成しています。私は複雑なオブジェクトを作ることができるように木構造を作っていきたいです。JavaScriptのオブジェクト識別

大きな配列が1つあり、子を含むすべてのオブジェクトが配列の一部です。 一部は子供で、他は親です。各項目にはchildren,parentおよびrootというプロパティがあり、衝突が発生した場合は親にバブルします。

私はオブジェクトを識別する2つの方法を考え出しました。

  1. 与えるには、IDが

  2. 済みオブジェクトを直接"node1.root = someOtherObject"のようなオブジェクト。

また、私はどちらがパフォーマンスの点で同じになります

//1 
if(object1.root === root.id){/*code here*/}//id based identification (literally) 
     //19253 === 19253 

//or 2 
if(object1.root === root){/*code here*/}//object based identification 
    //[Object] === [Object] 
+0

もしあれば、おそらく大きな違いはありません。私はあなたが最も簡単に維持するのが最も簡単であると思うものを使用すると言いたいと思います。 – elclanrs

+0

2つのオブジェクトは '{} === {}'と同じにはなりません。 'false'を出力します。オブジェクトにプロパティを与えることを検討してください。 – Jai

+0

パフォーマンスの差はごくわずかです。私は、オブジェクト参照を比較することは技術的に正しい方法だと思いますが、デバッグ目的のためだけにIDを必要とすることもあります。詳細については、[this](http://stackoverflow.com/a/886053/74757)を参照してください。 –

答えて

関連する問題