0

以下に戻りたいのですrj: Objectが、一致するインデックス キーがありますkid: 1Objectメインに 10,000 個を超えるアイテムを含めることができること を考えると、最善/最速の方法は何ですか?

Object
 coord: MM.Coordinate
 data: Object
 geometry: Object
 properties: Object
   kid: 1            <== index id
   rj: Object        <== object i want
   __proto__: Object
__proto__: Object
element: HTMLDivElement
location: MM.Location
touch: true
__proto__: Object
4

1 に答える 1

1

多くのオブジェクトを検索する必要がある場合は、ルックアップ テーブルを作成できます。メイン オブジェクトのコレクションを反復処理し、それらの識別子によってキー値マップ (単純なオブジェクト) に格納します。

var mainsByKid = {}; // if the keys are integers (and not sparse), use an array
for (var i=0; i<mains.length; i++) {
     var main = mains[i],
         key = main.properties.kid; // must be unique
     mainsByKid[key] = main;
}

これで、オブジェクトに簡単にアクセスできます

mainsByKid[1];
于 2013-01-14T22:53:28.887 に答える