Comment faire pour obtenir l'index d'un objet à l'intérieur d'un tableau d'objets?

J'ai un tableau d'objets JavaScript comme ceci:

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

Ce sont les objets générés par le même constructeur et ajoutés au tableau à l'intérieur d'une boucle. Les objets ont des méthodes dans le prototype qui ont besoin de connaître de l'objet indice dans le tableau pour faire leur travail. Actuellement ce que je fais est de définir une propriété appelée id à l'intérieur de chaque objet quand je le créer à l'intérieur de la boucle, égal à l'index du tableau. Quelque chose comme ceci:

box[i].id = i;

Cependant, je ne suis pas totalement satisfait, car chaque fois que je réorganiser le tableau à l'aide de sort() j'ai pour exécuter une boucle de mise à jour de la id propriétés avec les nouvelles valeurs de l'indice.

Ma question est si il y a un moyen de savoir à l'intérieur d'un objet de son indice dans le tableau, sans avoir à définir la propriété id, j'espère que vous pourrez m'aider.

Merci d'avance.

Je pense que si les méthodes de l'objet nécessaire de connaître l'indice de leur objet, ils n'appartiennent pas dans les objets. Ils appartiennent soit à une instance du singleton, ou sur le tableau.
Voir patrick bonne réponse. Ce type de couplage conduit invariablement à beaucoup d'échec; l'affaire a fait remarquer est que la "pointe" du problème. Il est peut-être meilleure solution possible à un autre (mais liés) question.

OriginalL'auteur VerizonW | 2011-01-21