在 Coffeescript 中,如何使用列表理解构造对象列表?

In Coffeescript, how to construct a list of object using list comprehension?

我尝试在 Coffeescript 中使用理解创建对象列表..

    photos =
          lat: r.latitude
          lng: r.longitude
          url: r.url
          caption: r.contentName
          thumbnail: r.url
          video: null
    for r in res

但这行不通..有人对此有想法吗?

该代码在 photos 中创建了一个对象,然后在 res 上循环而不进行任何循环。你想说:

photos = for r in res
    lat: r.latitude
    lng: r.longitude
    url: r.url
    caption: r.contentName
    thumbnail: r.url
    video: null

如果您想以单行形式进行,则必须说:

photos = (lat: r.latitude, ... for r in res)

创建对象来代替 ... 当然是一团糟。是的,由于赋值的高优先级,如果你想这样做,括号是必需的。