如何使用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 :
它遇到的第一个冒号让人感到困惑。是否有一些我缺少的咖啡因魔法?
答案 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))
我有一个代码可以将它转换为可重用库中的函数形式的对象数组。我打赌在下划线中有类似的东西。