Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我可以用Lodash来;“崩溃”;一组物体?_Javascript_Lodash - Fatal编程技术网

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();