JavaScript。字典键不是字符串?
只是一个简单的问题。拥有下一段代码:JavaScript。字典键不是字符串?,javascript,dictionary,key,Javascript,Dictionary,Key,只是一个简单的问题。拥有下一段代码: function addMarker(data) { var types = {'meet': 380 + ',' + 95, 'vegetable': 285 + ',' + 0}; var selection = data.type; console.log(types["meet"]); console.log(types[selection]); console.log(selection); 并在控制
function addMarker(data) {
var types = {'meet': 380 + ',' + 95, 'vegetable': 285 + ',' + 0};
var selection = data.type;
console.log(types["meet"]);
console.log(types[selection]);
console.log(selection);
并在控制台中显示这些结果:
380,95
undefined
Meet
在第二种情况下,我还需要一个380,95<代码>选择应该是来自数据
对象的字符串。不知何故,当使用这个字符串作为字典键时,它不起作用。那么,我如何以这样的动态方式从类型中获取不同的值呢
我只是想澄清一下,我并不是想得到浮点数,我需要的是两个由分隔的数字,
Javascript区分大小写。对象具有属性满足
,而选择的值为满足
。因此,您需要将代码更新为以下内容
console.log(types[selection.toLowerCase()]);
作为参考,请检查
data.type==“满足”//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.log(types["meet"]);
console.log(types[selection]);
console.log(selection);
}
或者干脆打个适当的电话跳!你说得对,谢谢你的帮助。我没有注意大写字母M,很抱歉打扰你。