【发布时间】:2020-06-03 12:07:33
【问题描述】:
我正在使用 lodash 进行数据操作,但是当我需要使用可选属性对数据进行分组和聚合数据时,我被卡住了。
我有以下数据,我希望通过以下数据输出:
var data = [{product: 'Matcha Latte', year: '2015', score:'43.3'},{product: 'Milk Tea', year: '2015', score:'22'},
{product: 'Milk Tea', year: '2015', score:'33.1'},{product: 'Milk Tea', year: '2015', score:'28'},
{product: 'Cheese Cocoa', year: '2015', score:'86.4'},{product: 'Walnut Brownie', year: '2015', score:'72.4'},
{product: 'Matcha Latte', year: '2016', score:'40'},{product: 'Matcha Latte', year: '2016', score:'45.8'},
{product: 'Matcha Latte', year: '2017', score:'33.3'},{product: 'Matcha Latte', year: '2017', score:'43.3'},
{product: 'Matcha Latte', year: '2017', score:'16.73'},{product: 'Milk Tea', year: '2016', score:'73.4'},
{product: 'Milk Tea', year: '2017', score:'50'},{product: 'Milk Tea', year: '2017', score:'.1'},
{product: 'Walnut Brownie', year: '2016', score:'50.4'},{product: 'Walnut Brownie', year: '2016', score:'3.6'},
{product: 'Cheese Cocoa', year: '2016', score:'65.2'},{product: 'Cheese Cocoa', year: '2017', score:'82.5'},
{product: 'Walnut Brownie', year: '2017', score:'39.1'}];
以及预期的输出:
[{product: 'Matcha Latte', '2015': 43.3, '2016': 85.8, '2017': 93.7},
{product: 'Milk Tea', '2015': 83.1, '2016': 73.4, '2017': 55.1},
{product: 'Cheese Cocoa', '2015': 86.4, '2016': 65.2, '2017': 82.5},
{product: 'Walnut Brownie', '2015': 72.4, '2016': 53.9, '2017': 39.1}]
我尝试了以下但如何进一步进行:
var ans = _(data)
.groupBy('product')
.value();
【问题讨论】:
标签: javascript underscore.js lodash