在JavaScript中获取对象的属性

时间:2010-09-12 14:50:26

标签: javascript json

基本上我有一个<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];

这是什么样的语法/方法?

3 个答案:

答案 0 :(得分:19)

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

var gda_set = gdas[mode];

...如果传递字符串,则使用相同的表示法。

var gda_set = gdas["f"];

答案 1 :(得分:2)

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

答案 2 :(得分:0)

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