У меня есть массив объектов JavaScript, как это:Как получить индекс объекта внутри массива объектов?
box[0] = {...}
box[1] = {...}
box[2] = {...}
...
box[499] = {...}
Эти объекты генерируются одним и тем же конструктором и добавить в массив внутри цикла. У объектов есть методы в прототипе, которые должны знать индекс объекта в массиве, чтобы сделать свой материал. В настоящее время то, что я делаю, заключается в установке свойства под названием id
внутри каждого объекта, когда я создаю его внутри цикла, равного индексу массива. Что-то вроде этого:
box[i].id = i;
Однако я не совсем доволен этим, потому что каждый раз, когда я переупорядочить массив, используя sort()
я запустить цикл, чтобы обновить id
свойства с новыми значениями индекса.
Мой вопрос в том, есть ли способ узнать внутри объекта свой индекс в массиве, без необходимости устанавливать свойство id, надеюсь, что вы можете мне помочь.
Заранее спасибо.
Я думаю, что если методы объекта необходимо знать индекс их объекта, они не принадлежат к объектам. Они принадлежат либо в одном экземпляре, либо в массиве. – staticsan
См. Хороший ответ Патрика. Этот тип связи неизменно приводит к большому разрушению; случай, указанный здесь, является лишь «советом» проблемы. Возможно, есть возможное решение другого (но связанного) вопроса. –