Obtenir la propriété de l'objet en JavaScript
Fondamentalement, j'ai un formulaire avec un <select>
qui choisit le jeu de données à utiliser (les valeurs sont "m", "f" et "c"). J'ai alors d'un dictionnaire ou de l'objet avec les données:
var gdas = {
//Male
"m": {
"calories": 2500,
"protein": 55,
"carbohydrates": 300,
"sugars": 120,
"fat": 95,
"saturates": 30,
"fibre": 24,
"salt": 6
},
//Female
"f": {
"calories": 2000,
//etc.
};
Maintenant, j'ai besoin d'obtenir gdas.m
/gdas.f
/gdas.c
mais je ne suis pas sûr de ce que la syntaxe à utiliser, j'ai essayé:
var mode = $("#mode").val();
var gda_set = gdas.mode;
var gda_set = gdas[mode];
Quelle est la bonne syntaxe/méthode pour cela?
double possible de l'Attribution de la propriété de JS objet à l'aide d'un autre des objets de valeur de la propriété que le nom de la propriété
gdas[mode]
devrait fonctionner
OriginalL'auteur Ross | 2010-09-12
Vous devez vous connecter pour publier un commentaire.
Puisque vous faites référence à la propriété par l'intermédiaire d'une variable, vous avez besoin du support de la notation.
...qui est la même notation que vous pourriez utiliser si vous étiez de passage d'une Chaîne.
Vous êtes les bienvenus. :o) Un assez commune erreur est de placer un
.
avant l'ouverture du support, comme dansgdas.[mode]
. De toute façon, content que tu ai eu de travail!OriginalL'auteur user113716
Vous n'avez pas de "mode" de l'attribut dans cette variable. Vous devez utiliser si pour détecter le sexe, le traitement et obtenir
gdas.m.fibre
ougdas.f.salt
..m.
et.f.
dynamique en fonction de la valeur sélectionnéeOriginalL'auteur Tomasz Kowalczyk
Vous pouvez utiliser gdas[mode], il sélectionne l'élément qui est indexé par la valeur de mode.
OriginalL'auteur halfdan