在JavaScript中获取对象的属性

基本上我有一个表单,用<select>来select使用哪一组数据(值是“m”,“f”和“c”)。 然后我有一个字典/对象的数据在:

 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. }; 

现在我需要得到gdas.m / gdas.f / gdas.c但我不知道使用什么语法 – 我试过了:

 var mode = $("#mode").val(); var gda_set = gdas.mode; var gda_set = gdas[mode]; 

什么是正确的语法/方法呢?

由于您通过variables引用属性,因此需要括号表示法。

 var gda_set = gdas[mode]; 

…如果你传递一个string,这是你将使用的相同的符号。

 var gda_set = gdas["f"]; 

您在该variables中没有“模式”属性。 您必须使用if来检测您正在处理的性别,并获得gdas.m.fibregdas.f.salt

您可以使用gdas [mode],它select由mode的值索引的元素。