Comment puis-je interpoler une variable clé dans un objet JavaScript?
Comment puis-je utiliser la valeur de la variable a
comme une clé de la recherche d'une propriété? Je veux être capable de dire: b["whatever"]
et ont de ce retour 20:
var a = "whatever";
var b = {a : 20}; //Want this to assign b.whatever
alert(b["whatever"]); //so that this shows 20, not `undefined`
Je me demande si c'est possible lors de la création de b
, pour contenir "whatever":20
au lieu de a:20
où "quelque chose" est lui-même dans une variable. Peut-être un eval
pourrait être utilisé?
- double possible de Comment créer une clé dynamique à être ajouté à l'objet javascript variable. et passer des variables en javascript object et probablement d'autres...
- Je suppose que quand vous dites "interpoler," tu veux dire "l'utilisation". Juste pour ne pas vous causer des problèmes à l'avenir, interpoler signifie "estimation des valeurs inconnues entre les valeurs connues" et ne rentre pas dans cette question de titre du tout.
- Non, il est en utilisant la bonne terminologie. Vous faites allusion à l'interpolation dans le domaine des mathématiques. en.wikipedia.org/wiki/Interpolation Il parle d'interpolation dans le domaine de l'informatique. en.wikipedia.org/wiki/String_interpolation. 🙂
- Je pense que stackoverflow.com/questions/6500573/... demande la même chose mais formulée différemment, ni de particulièrement mauvais sens.
Vous devez vous connecter pour publier un commentaire.
Cela fonctionne dans Firefox 39 et Chrome 44. Ne sais pas sur les autres navigateurs. Aussi il ne fonctionne pas dans nodejs v0.12.7.
Qui est, pour interpoler une variable, placez-le entre crochets.
Je ne suis pas sûr si c'est une partie de tout standard. A l'origine, je n'ai vu de syntaxe ici: https://hacks.mozilla.org/2015/07/es6-in-depth-classes/ où l'auteur a défini:
Je ne suis pas sûr si vous devez utiliser cette syntaxe. Il n'est pas largement connu. D'autres membres de votre équipe pourrait ne pas comprendre le code.
'a'
est une chaîne de caractères avec la valeur'a'
.a
est une variable avec la valeur'whatever'
.Grande question. J'ai eu un temps à essayer de trouver cela avec un trait de soulignement, mais la réponse ne pouvait pas être plus simple:
J'espère que cela aide!
Essayez ceci:
Ici est la violon.
Ou si je comprends bien le dessous des commentaires correctement, essayez ceci:
b.a
est analysée commeb['a']
pasb['whatever']
{ a: 20 }
est interprété comme{'a':20}
, pas comme{'whatever' : 20}
.Pour afficher toutes les options, je veux parler de la CoffeeScript façon de faire cela, qui est:
Bien que je préfère:
Que si elle est