假设我有一个对象alphabets
,我想从另一个对象设置一些属性,如 -
alphabets.a = data.a
alphabets.b = data.b
alphabets.c = data.c
有没有办法可以删除变量alphabets
和data
的冗余使用情况?
更新
假设属性具有相同的名称。现在要删除过度使用属性变量引用data
我可以执行以下操作
alphabets = (-> {aa, bb,cc}).call data
但问题是这将创建一个新对象alphabets
,我想要的是它应该只将属性添加到已经可用的对象。
答案 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>