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'}]
OR
[
apple: {
2013: {year: '2013', amount: '200'},
2014: {year: '2014', amount: '1000'}
},
orange: {
2013: {year: '2013', amount: '200'},
2014: {year: '2014', amount: '1000'}
}]
OR apple:[{year:2013,amount:200},{year:2014,amount:1000}]
我尝试过使用lodash的 .map, .uniq, .reduce, .zipObject,但我仍然无法弄明白。
答案 0 :(得分:0)
使用以下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]
}
});