Получить свойство объекта в 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];
Какой правильный синтаксис/метод для этого?
Ответы
Ответ 1
Поскольку вы ссылаетесь на свойство через переменную, вам нужна нотация скобок.
var gda_set = gdas[mode];
... который является тем же самым обозначением, которое вы использовали бы, если бы вы передавали строку.
var gda_set = gdas["f"];
Ответ 2
У вас нет атрибута "mode" в этой переменной. Вы должны использовать, чтобы определить, какой секс вы обрабатываете, и получите gdas.m.fibre
или gdas.f.salt
.
Ответ 3
Вы можете использовать gdas [mode], он выбирает элемент, который индексируется значением режима.