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定律在这里起作用;我认为,如果要将一个新对象传递到函数中,应该只传递值。