Подтвердить что ты не робот

Получить свойство объекта в JavaScript

В основном у меня есть форма с <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];

Какой правильный синтаксис/метод для этого?

4b9b3361

Ответ 1

Поскольку вы ссылаетесь на свойство через переменную, вам нужна нотация скобок.

var gda_set = gdas[mode];

... который является тем же самым обозначением, которое вы использовали бы, если бы вы передавали строку.

var gda_set = gdas["f"];

Ответ 2

У вас нет атрибута "mode" в этой переменной. Вы должны использовать, чтобы определить, какой секс вы обрабатываете, и получите gdas.m.fibre или gdas.f.salt.

Ответ 3

Вы можете использовать gdas [mode], он выбирает элемент, который индексируется значением режима.