Как добавить динамический атрибут к объекту в JavaScript?

#javascript

#javascript

Вопрос:

Как добавить динамический атрибут к объекту, например, я использую следующий код для добавления атрибута index ( index ) к myObj , index это переменная.

 var myObj={};
for(var index=0; index<10; index  ){
   myObj[index]='my' index;
}
  

Но это не работает…

Комментарии:

1. Это должно сработать, но вы не очень четко представляете, каким должен быть результат, которого вы ожидаете.

2. Это не имеет ничего общего с событиями Javascript или с jQuery. И, насколько я могу судить, это действительно работает. В чем проблема?

Ответ №1:

Если вы действительно хотите, чтобы «myObj» имел свойства типа «my0», «my1» через «my10», то вам нужно

 for (var index = 0; index < 10;   index)
  myObj['my'   index] = something;
  

Ответ №2:

Вместо создания объекта с помощью {} используйте [], поскольку вы создаете простой массив.

 var myObj=[];
for(var index=0; index<10; index  ){
   myObj[index]='my' index;
}
  

Ответ №3:

Можете ли вы попробовать использовать :

 myObj[index ""]='my' index;
  

Ответ №4:

Вы не можете использовать число в качестве имени свойства в JavaScript так же, как вы используете строку.

Использование myObj[1] вернет значение свойства, которое вы ищете, но myObj.1 этого не сделает.

Лучше всего было бы использовать строку, подобную рекомендуемым @Pointy и @sudimail.