J'utilise Javascript.Utilise la valeur d'une variable chaîne comme 'index' d'un objet existant en Javascript
J'ai
var myobj = {
"one": {
"name" : "paul",
"no" : "A123"
},
"two": {
"name" : "mike",
"no" : "B456"
},
"three": {
"name" : "andy",
"no" : "C789"
},
};
J'ai un autre objet newitem
que je veux insérer
var newIndex = "four";
var newItem = {
"name" : "leo",
"no" : "D987"
};
Comment insérer newItem
en utilisant myobj
newIndex
comme 'index'?
Par ailleurs, newIndex
n'est pas généré par moi, donc je ne peux pas dire que myobj.four = newItem;
myobj.newIndex = newItem
ne fonctionne pas car il utilise le mot « newIndex » comme l'indice au lieu de sa valeur.
Des idées?
Notez que dans la dernière édition de la norme sur laquelle JavaScript est basée, il n'est pas nécessaire d'utiliser la notation support en se référant aux propriétés nommées par mots-clés ou réservés mots: 'obj.for = 'moi' est autorisé par ECMAScript 5ème édition. (Quelques autres contextes, tels que les noms de propriété dans les littéraux d'objet, ont également été desserrés pour permettre des mots-clés.) Ce changement a été implémenté dans Firefox, depuis quelques années, si vous voulez jouer avec. –
@Jeff, ouais, j'ai oublié de le mentionner, dans ES5 un 'IdentifierName' peut être utilisé avec l'accesseur de propriété' .'. Je vais faire un meilleur exemple ... – CMS