整形 json 对象

Shaping json object

rows[
  {0: c:[{0: {v:'2013'}, 1: {v: 'apple'},2: {v: '200'}}]},
  {1: c:[{0: {v:'2014'}, 1: {v: 'apple'},2: {v: '1000'}}]},
  {2: c:[{0: {v:'2013'}, 1: {v: 'orange'},2: {v: '200'}}]},
  {3: c:[{0: {v:'2014'}, 1: {v: 'orange'},2: {v: '1000'}}]}
]

我正在尝试将其重塑成这样的东西:

[apple: {2013: '200', 2014: '1000'}, orange: {2013: '200', 2014: '1000'}]

[
  apple: {
    2013: {year: '2013', amount: '200'},
    2014: {year: '2014', amount: '1000'}
  },
  orange: {
    2013: {year: '2013', amount: '200'},
    2014: {year: '2014', amount: '1000'}
}]

或 苹果:[{year:2013, amount:200},{year:2014,amount:1000}]

我试过使用 lodash 的 .map,.uniq,.reduce,.zipObject 但我仍然无法理解出。

使用了以下 lodash 函数: 使用 _.map 获取水果的名称。 uniqueFruitNames = 通过 _.uniq 获取唯一名称,然后对它们进行排序。 data2013 和data2014 = 使用_.remove 得到特定年份的水果并分别排序。 使用 _.zipObject 压缩 uniqueFruitsName 和 data2013 uniqueFruitsName 和 data2014 然后 _.merge 两个压缩的对象。

var dataSeries = _.map(mergedData, function(asset,key) { 
                return { 
                    name: key, 
                    data: [fruit[0].amount, fruit[1].amount]
                }
        });