Propriété Javascript à partir de la variable

J'ai un problème avec mon code JavaScript. Je commence par des choses plus complexes tout en maintenant, semblait trouver des réponses sur le net, mais malheureusement je ne peux pas le réparer. Le problème est:

Je veux que les variables sGetMobileField et ValMob puissent entrer dans les paramètres, mais comme cela, cela ne fonctionne pas:

 var oFieldValues = { sGetMobileField:) { Value: ValMob } }; 

Les variables ne semblent pas fonctionner comme une propriété d'objet. Quelqu'un peut m'aider à le réparer?

Merci Dane

Essaye ça

 var oFieldValues = { }; oFieldValues[ sGetMobileField ] = { Value: ValMob }; 

Vous pouvez utiliser les variables comme identifiants de propriété, mais pas dans un littéral d'objet. Vous devez d'abord créer l'objet, puis ajouter des propriétés dynamiques en utilisant

 obj[ varToHoldPropertyName ] = someValue; 

Tout d'abord, la syntaxe ne semble pas juste. Je suppose que le ")" après sGetMobileField: est une faute de frappe. Cependant, qu'est-ce que vous faites ici, définissez une propriété appelée "sGetMobileField":

 var oFieldValues = { sGetMobileField: { Value: ValMob } }; 

Exactement pour la même raison qu'avec Value définissez-vous une propriété appelée "Valeur" et non une propriété qui tire son nom d'une variable Value . C'est cohérent, n'est-ce pas? Donc vous aurez:

 console.log(oFieldValues.sGetMobileFields.Value) // the content of ValMob. 

Heureusement, dans JS, vous pouvez utiliser la notation en forme de case au lieu de la notation de point. Cela signifie que vous pouvez accéder à une propriété en utilisant une chaîne. Ainsi, par exemple:

 console.log("Hello"); 

Est le même de:

 console["log"]("Hello"); 

Par conséquent, vous pouvez utiliser la valeur d'une variable pour spécifier la propriété de l'objet à accéder. Dans ton cas:

 var oFieldValues = {}; oFieldValues[sGetMobileField] = { Value: ValMob }; 

Notez qu'après la convention de nommage habituellement utilisée dans JS, la Value doit être ValMob et ValMob devrait être valMob .