Javascript 我可以用Lodash来;“崩溃”;一组物体?
目前我的数组看起来像Javascript 我可以用Lodash来;“崩溃”;一组物体?,javascript,lodash,Javascript,Lodash,目前我的数组看起来像 [{index: 1, value: 'A'}, {index: 1, value: 'B'}, {index: 2, value: 'C'}, {index: 5, value: 'D'}] 我想把它变成一个像 { 1: ['A', 'B'], 2: ['C'], 5: ['D'] } 目前我只是对数组进行排序,然后运行一个复杂的for循环您可以使用++ var数据=[{ 索引:1,值:“A” }, { 索引:1,值:“B” }, { 索引:2,值
[{index: 1, value: 'A'},
{index: 1, value: 'B'},
{index: 2, value: 'C'},
{index: 5, value: 'D'}]
我想把它变成一个像
{
1: ['A', 'B'],
2: ['C'],
5: ['D']
}
目前我只是对数组进行排序,然后运行一个复杂的for循环您可以使用++
var数据=[{
索引:1,值:“A”
}, {
索引:1,值:“B”
}, {
索引:2,值:“C”
}, {
索引:5,值:'D'
}];
var结果=(数据)
.groupBy('index'))
.mapValues(函数(el){
返回映射(el,'值');
})
.value();
控制台日志(结果)代码>
@Alexander的答案可能比这更清楚,但我对匿名函数上瘾并过敏,所以这里有一个带有partials的版本
var data = [
{index: 1, value: 'A'},
{index: 1, value: 'B'},
{index: 2, value: 'C'},
{index: 5, value: 'D'}
];
// define a couple of resuable functions for these objects
var getValueProp = _.partial(_.get, _, 'value');
var mapToValueProp = _.partial(_.map, _, getValueProp);
// get the answer!
var result = _(data)
.groupBy('index')
.mapValues(mapToValueProp)
.value();