【问题标题】:Array of anonymous objects with coffeescript带有咖啡脚本的匿名对象数组
【发布时间】:2015-02-25 04:58:28
【问题描述】:

如何使用 coffeescript 创建一个字符数最少的匿名对象数组?

以下是我对它的了解(工作):

cast:
    [ {name: 'Rob Jr.', character: 'Tony Stark'}
      {name: 'Sam Jackson', character: 'Nick Fury'}
      {name: 'Daniel Craig', character: 'James Bond'} ]

我希望能够做到这一点:

cast:
    [ name: 'Rob Jr.', character: 'Tony Stark'
      name: 'Sam Jackson', character: 'Nick Fury'
      name: 'Daniel Craig', character: 'James Bond' ]

但是我得到了错误:

SyntaxError: [stdin]:20:9: unexpected :

它遇到的第一个冒号会混淆。我缺少一些咖啡脚本魔法吗?

【问题讨论】:

    标签: coffeescript


    【解决方案1】:

    每当我有一个很长的大列表时,我都喜欢使用 csv 样式的数组。我认为它也增加了可读性。赞this

    rows = [
      ["a", "b", "c"]
      [  1,   2,   3]
      [  4,   5,   6]
    ]
    
    objects = []
    
    columns = rows.shift()
    
    for r in rows
      o = {}
      for c, i in columns
        o[c] = r[i]
      objects.push(o)
    
    alert(JSON.stringify(objects, null, 2))
    

    我有一个代码可以将其转换为可重用库中函数中的对象数组形式。我敢打赌,下划线也有类似的东西。

    【讨论】:

      【解决方案2】:

      你可以这样格式化:

      cast: [
        name: 'Rob Jr.', character: 'Tony Stark'
      , 
        name: 'Sam Jackson', character: 'Nick Fury'
      , 
        name: 'Daniel Craig', character: 'James Bond' 
      ]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-10
        • 1970-01-01
        • 2014-12-03
        • 2013-01-09
        相关资源
        最近更新 更多