Простой вопрос. Имея следующий фрагмент кода:
function addMarker(data) {
var types = {'meet': 380 + ',' + 95, 'vegetable': 285 + ',' + 0};
var selection = data.type;
console.info(types["meet"]);
console.info(types[selection]);
console.info(selection);
и получив эти результаты в консоли:
380,95
undefined
Meet
Во втором случае мне понадобится еще 380,95. Предполагается, что selection - это строка, исходящая от объекта data. Как-то при использовании этой строки в качестве словарного ключа она не работает. Как мне тогда получить разные значения от types таким динамическим способом?
Чтобы прояснить, я не пытаюсь получить числа с плавающей запятой, мне нужны два числа, разделенных ,



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Javascript - это с учетом регистра. Объект имеет свойство meet, тогда как значение Выбор - Meet. Следовательно, вам нужно будет обновить свой код следующим образом:
console.info(types[selection.toLowerCase()]);
Для справки: String.toLowerCase ()
Пожалуйста, проверьте, если
data.type === "Meet" // trueНадо «встретиться».
Кстати. это мясо полбы, а не встретить.
Просто быть чистым
addMarker({'type':'meet'}) // would produce correct result
addMarker({'type':'Meet'}) // would produce result result you see
Чтобы исправить это, вы можете использовать строку нижнего регистра, как предоставлено Nikhil
function addMarker(data) {
var types = {'meet': 380 + ',' + 95, 'vegetable': 285 + ',' + 0};
var selection = data.type;
selection = selection.toLowerCase();
console.info(types["meet"]);
console.info(types[selection]);
console.info(selection);
}
Или просто позвоните правильно
Хмель! Вы правы, спасибо за помощь. Я не обратил внимания на заглавную М, извините, что беспокою вас этим.