2

我有一个字符串文字数组,我想循环它们,将它们解析为 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 是开放的并且问题已关闭,所以我认为至少没有操作员可以这样做?

但是在编写该代码时,我不禁想到必须有更好的方法,所以欢迎任何提示。

4

1 回答 1

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'
于 2012-11-18T12:34:59.183 回答