在JavaScript中获取对象的属性

Ros*_*oss 12 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.
};
Run Code Online (Sandbox Code Playgroud)

现在我需要得gdas.m/ gdas.f/ gdas.c但我不确定使用什么语法 - 我试过了:

var mode = $("#mode").val();
var gda_set = gdas.mode;
var gda_set = gdas[mode];
Run Code Online (Sandbox Code Playgroud)

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

use*_*716 20

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

var gda_set = gdas[mode];
Run Code Online (Sandbox Code Playgroud)

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

var gda_set = gdas["f"];
Run Code Online (Sandbox Code Playgroud)