在咖啡脚本中设置对象的属性

时间:2013-12-10 20:28:25

标签: syntax coffeescript

假设我有一个对象alphabets,我想从另一个对象设置一些属性,如 -

alphabets.a = data.a
alphabets.b = data.b
alphabets.c = data.c

有没有办法可以删除变量alphabetsdata的冗余使用情况?

更新 假设属性具有相同的名称。现在要删除过度使用属性变量引用data我可以执行以下操作

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

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

1 个答案:

答案 0 :(得分:0)

您需要做的就是使用bracket notation的javascript,加上coffescript的for / of comprehension:

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>