目前我有:
newObject = {}
for item in myArray
newObject[item.id] = item.data
newObject
正如你所看到的,我有一个对象数组,我想最终得到一个对象,该对象由数组中对象的一个字段键入,其值是数组中的项。即将数组转换为dict / keyed hash。
以上的作品,但对我来说看起来并不是很好。我怎么用漂亮的CoffeeScript方式做到这一点?
答案 0 :(得分:0)
我建议使用下划线库中的每个函数:http://underscorejs.org/#each
上面的代码如下所示:
newObject = {}
_.each myArray,(elem)->newObject[elem.id]=elem.data
newObject
优点是下划线具有其他可用的功能。
更简单的方法(不使用下划线库)将是:
newObject = {}
newObject[elem.id]=elem.data for elem in myArray
newObject
答案 1 :(得分:0)
除了理解(Daniel Cioata答案中的第二个代码片段),你可以添加解构赋值:
newObject = { }
newObject[id] = data for { id, data } in myArray
newObject