2017-03-22 6 views
0
data =[ 
{ 
    "origin": "Mumbai", 
    "destination": "Chennai" 
}, 
{ 
    "origin": "Mumbai", 
    "destination": "Delhi", 
}, 
{ 
    "origin": "Pune", 
    "destination": "Brahmapur", 
},] 

所望の出力は:チェーンGROUPBYと摘み取る

以下
[ 
    {"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. 

は私がプラックGROUPBYを結合するには、以下にしようとしたこと私は特定の起源キーのための目的地の配列を与えるだろうが、明らかにそれは動作しません。

var gpList = _.groupBy(_.pluck(data, 'parname'), 'category'); 

答えて

1

これらの機能の選択肢はほとんどありませんでした。

まず、groupBy起源です。

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

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

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

が続いpluckに先をmapObjectを使用します。これは、このようになりますオブジェクトを返します。

関連する問題