链接 groupby 和 pluck

西德普
data =[
{
    "origin": "Mumbai",
    "destination": "Chennai"
},
{
    "origin": "Mumbai",
    "destination": "Delhi",
},
{
    "origin": "Pune",
    "destination": "Brahmapur",
},]

期望的输出:

[
  {"Mumbai" : ["Chennai","Delhi"]},
  {"Pune" : ["Brahmapur"]}
]

以下是我正在尝试做的事情:

var list = _.pluck(data, 'destination'); // it gives the array of destinations
var gList = _.groupBy(data, 'origin'); // it gives me json which are grouped by the origin key.

我试图在下面将pluckgroupby结合起来这只会给我特定源键的目的地数组,但显然它不起作用。

var gpList = _.groupBy(_.pluck(data, 'parname'), 'category');
粗鲁的兔子

您几乎可以选择这些功能。

首先要做的是按原点分组这将返回一个如下所示的对象:

{
    Mumbai: [ { origin: 'Mumbai', destination: 'Chennai' },
              { origin: 'Mumbai', destination: 'Delhi' } ],

    Pune: [ { origin: 'Pune', destination: 'Brahmapur' } ]
}

然后使用MapObject的采摘目的地:

var result = _.chain(data)
    .groupBy('origin')
    .mapObject(group => _.pluck(group, 'destination'))
    .value()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章