Syntax 在coffee脚本中为对象设置属性

Syntax 在coffee脚本中为对象设置属性,syntax,coffeescript,Syntax,Coffeescript,假设我有一个对象字母表,我想从另一个对象设置一些属性,比如- alphabets.a = data.a alphabets.b = data.b alphabets.c = data.c 有没有办法消除变量字母表和数据的冗余使用 更新: 假设属性具有相同的名称。现在,为了消除对变量引用数据的过度使用,我可以执行以下操作 alphabets = (-> {aa, bb,cc}).call data 但问题是,这将创建一个新的对象字母表,我想要的是,它应该只将属性添加到一个已经可用的对象中

假设我有一个对象字母表,我想从另一个对象设置一些属性,比如-

alphabets.a = data.a
alphabets.b = data.b
alphabets.c = data.c
有没有办法消除变量字母表和数据的冗余使用

更新: 假设属性具有相同的名称。现在,为了消除对变量引用数据的过度使用,我可以执行以下操作

alphabets = (-> {aa, bb,cc}).call data

但问题是,这将创建一个新的对象字母表,我想要的是,它应该只将属性添加到一个已经可用的对象中。

您需要做的就是使用javascript,再加上coffescript的理解:

coffee> alphabets
{ a: '1', b: '2', c: '3' }
coffee> data = {}
{}
------> for k,v of alphabets  # use Ctrl-V to get the multiline prompt
.......   data["#{k}#{k}"] = v
[ '1', '2', '3' ]
coffee> data
{ aa: '1', bb: '2', cc: '3' }
coffee> 

是的,如果a和aa在命名方面有某种关系。。。有吗?那就说有吧?你有一个真实的例子来说明你在做什么吗?@muistooshort我正试图从一个对象中挑选属性并将其添加到另一个对象中。re:update:Demeter定律在这里起作用;我认为,如果要将一个新对象传递到函数中,应该只传递值。