带有coffeescript的匿名对​​象数组

时间:2014-12-28 23:09:01

标签: coffeescript

如何使用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 :

它遇到的第一个冒号让人感到困惑。是否有一些我缺少的咖啡因魔法?

2 个答案:

答案 0 :(得分:1)

你可以这样格式化:

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

答案 1 :(得分:0)

每当我有一个很长的大型列表时,我都喜欢使用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))

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