Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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 在Coffeescript中使用Map_Javascript_Map_Coffeescript_Hashmap - Fatal编程技术网

Javascript 在Coffeescript中使用Map

Javascript 在Coffeescript中使用Map,javascript,map,coffeescript,hashmap,Javascript,Map,Coffeescript,Hashmap,我不确定javascript/coffeescript具有什么样的映射功能,但假设我将Java映射转换为适当的格式,我可以使用coffeescript执行类似的操作吗 thekey.getValue() 其中getValue将是在我的coffeescript中定义的函数,它将执行与 return MyMap.get(key) (returns value) 编辑:我有一个java标记,因为它对我来说并不明显,这取决于我需要做什么,如何将映射从java转换为javascript 编辑:你

我不确定javascript/coffeescript具有什么样的映射功能,但假设我将Java映射转换为适当的格式,我可以使用coffeescript执行类似的操作吗

thekey.getValue()
其中getValue将是在我的coffeescript中定义的函数,它将执行与

 return MyMap.get(key)   (returns value)
编辑:我有一个java标记,因为它对我来说并不明显,这取决于我需要做什么,如何将映射从java转换为javascript

编辑:你喜欢这个作品吗

click: ->
 if Object1.label in Object2
      $("#multiValueSelect").val(Object2[Object1.label].toLowerCase()).trigger "change"
 else
      $("#multiValueSelect").val(Object1.label.toLowerCase()).trigger "change"

JavaScript的基本
对象
类型本质上就是一个映射。在JavaScript和CoffeeScript中,
myObject.value
将从
myObject
中获取名为
value
的属性。要使用字符串键获取属性,请使用方括号:
myObject[key]

我认为您可以定义一个映射并在类似javascript的javascript中使用它

var map = {}; (or you give it appropriate value)    
return map[key]; (or map.key)
在咖啡脚本中:

map = {}
map[key] (or map.key)

因此,假设我有一个映射(在本例中为object),object1是字符串到整数的映射,object2是字符串到字符串的映射。然后假设我有一个键(object1.label),我想从Object2获取值,我将执行Object2.object1.label,这将使用object1作为键从Object2获取字符串值?抱歉,如果不清楚,请询问是否在这种情况下需要
Object2[object1.label]
。另请注意,仅供参考,JavaScript对象只能将字符串作为键保存,因此与Java映射相比,它们受到限制。好的,下面我单击:->$(“#multiValueSelect”).val(o.label.toLowerCase()).trigger“change”,因此,我想做的是,如果标签出现在object2中,请使用相应的字符串,如果不使用默认标签,那么我会做一些类似于if object2 object2中的Object1.label[Object1.label]else Object1.label?是的,应该可以。试试看。