2011-06-08 5 views
1

Comment ajouter un attribut dynamique à un objet, par exemple j'utilise le code suivant pour ajouter l'attribut index (index) à myObj, index est une variable.Comment ajouter un attribut dynamique à un objet en JavaScript?

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

Mais cela ne fonctionne pas ...

+0

Cela devrait fonctionner, mais vous n'êtes pas très clair sur ce que vous attendez du résultat. – Pointy

+0

Cela n'a rien à voir avec les événements Javascript ou avec jQuery. Et, autant que je sache, ça marche. Quel est le problème? – lonesomeday

Répondre

1

Si ce que vous voulez vraiment est pour "myObj" pour avoir des propriétés comme "my0", "my1", par "MY10", alors qu'est-ce vous voulez est

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

Au lieu de créer un objet avec {}, utilisez [] puisque vous créez un tableau simple.

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

mai vous pouvez essayer d'utiliser:

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

Vous ne pouvez pas utiliser un numéro comme un nom de propriété en JavaScript de la même manière que vous utilisez une chaîne. L'utilisation de myObj [1] retournera la valeur de la propriété que vous recherchez, mais pas myObj.1.

Il est préférable d'utiliser une chaîne comme @Pointy et @sudimail recommandée.

Questions connexes