Wie man den index ein Objekt in ein array von Objekten?

Habe ich ein JavaScript-array von Objekten, wie diesem:

box[0] = {...}
box[1] = {...}
box[2] = {...}
...
box[499] = {...}

Diese Objekte generiert, die von den gleichen Konstruktor und Hinzugefügt, um das array in einer Schleife. Die Objekte haben Methoden, die in der Prototyp-die müssen wissen, das Objekt index in das array zu tun, Ihre Sachen. Derzeit, was ich Tue, ist, um eine Immobilie genannt id im inneren jedes Objekt, wenn ich es innerhalb der Schleife gleich der array-index. So etwas wie dieses:

box[i].id = i;

Aber ich bin nicht ganz zufrieden mit diesem, weil jedes mal, wenn ich die Reihenfolge der array mit sort() ich habe zu laufen eine Schleife zum update der id Eigenschaften mit dem neuen index-Werte.

Meine Frage ist, ob es einen Weg gibt, zu wissen, in einem Objekt seine index im array, ohne die id-Eigenschaft, hoffe Ihr könnt mir helfen.

Vielen Dank im Voraus.

  • Ich denke, wenn die Objekt-Methoden kennen müssen, um den index Ihres Objekts, Sie gehören nicht in den Objekten. Sie gehören entweder in eine singleton-Instanz, oder auf das array.
  • Siehe patrick ' s gute Antwort. Diese Art der Kopplung führt unweigerlich zu viel Ausfall; der Fall wies darauf hin, ist nur die "Spitze" des Problems. Vielleicht gibt es praktikable Lösung zu einem anderen (aber verwandten) Frage.
InformationsquelleAutor VerizonW | 2011-01-21
Schreibe einen Kommentar