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

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

最佳答案

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

var gda_set = gdas[mode];

...这与您传递字符串时使用的表示法相同。
var gda_set = gdas["f"];

关于javascript - 在JavaScript中获取对象的属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3695243/

10-08 22:24