2013-05-01 4 views
1

Если у меня есть функция, как это:Реферирование переменной при получении значения объекта

var get = function(place, info){ 
    return places.place.info; 
} 

и JSON как это:

var places = { 
    "london":{ 
     "distance":50, 
     "time":100 
    } 
} 

Как я могу сделать функцию получить возвращает правильное значение, если я используйте следующее? На данный момент он принимает его полностью буквально:

get("london", "time"); 
+0

Что означает «воспринимать это буквально»? –

+1

FYI, 'places' - объект JavaScript, а не JSON. JSON - это текстовый формат обмена данными, такой как XML, YAML, CSV и т. Д. –

ответ

2

Вы должны использовать квадратные скобки обозначения:

var get = function(place, info){ 
    return places[place][info]; 
}; 

Я бы также добавить некоторые дурак доказательства проверки, например:

var get = function(place, info){ 
    return places[place] !== undefined 
     && places[place][info]; 
}; 
1

Использование квадратный кронштейн синтаксис:

places[place][info]

Смежные вопросы