Итак, мне нужно передать 3 переменные:
- статистика (объект JSON, показан ниже)
- place_type (строка "США" или "Штат")
- коэффициент (строка)
У меня есть другая переменная, answer , значение которой зависит от других переменных. Например, если place_type = "State" и factor = "factor2", тогда
var answer = stats.State.factor2; // equals "E"
Я пытаюсь выяснить, есть ли способ динамического присвоения переменной без необходимости использовать eval ().
// Simplified, there are many more than 3 factors
var stats = {
"US": {
"factor1" : "A",
"factor2" : "B",
"factor3" : "C"
},
"State": {
"factor1" : "D",
"factor2" : "E",
"factor3" : "F"
}
}
Используя eval (), вот как это делается:
eval("var answer = stats." + place_type + "." + factor + ";");
Возможно ли это в JS без необходимости использования eval () или множества различных циклов IF? Заранее спасибо.