Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript。字典键不是字符串?_Javascript_Dictionary_Key - Fatal编程技术网

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,很抱歉打扰你。