我有一个字符串文字数组,我想循环它们,将它们解析为JSON并向结果对象添加属性。我想将结果分配给变量。
我希望它看起来很漂亮:)
现在我正在这样做:
strings = ['{"a": "A", "b": "B"}', '{"c": "C", "d": "D"}']
objects = for string in strings
obj = JSON.parse string
obj.e = 'E'
obj
这给了我一个看起来像这样的数组:
[{ a: 'A', b: 'B', e:'E' }, { c: 'C', d: 'D', e:'E' }]
现在这个有效,但看起来有点难看。我想我想要的是类似http://documentcloud.github.com/underscore/#extend的内容(但我不想仅为这一方法包含下划线)
我发现了这个问题:https://github.com/jashkenas/coffee-script/issues/880 和pullrequest:https://github.com/jashkenas/coffee-script/pull/2177 但是pullrequest是开放的,问题是关闭的,所以我假设至少没有运营商这样做?
但是在编写代码时,我不禁想到必须有更好的方法,所以任何提示都会受到欢迎。
答案 0 :(得分:4)
以下是一些参考:http://coffeescript.org/documentation/docs/helpers.html
extend = exports.extend = (object, properties) ->
for key, val of properties
object[key] = val
object
strings = ['{"a": "A", "b": "B"}', '{"c": "C", "d": "D"}']
objects = for string in strings
extend JSON.parse(string), e: 'E'