0

I'm to populate a Tree Component in angularjs heres Json Object:

var myData=[{"agence":"CTM","secteur":"Safi","serie":"CZC1448YZN"},{"agence":"CTM","secteur":"Safi","serie":"2UA13817KT"},{"agence":"CTM","secteur":"Rabat","serie":"CZC1349G1B"},{"agence":"CTM","secteur":"Rabat","serie":"  2UA0490SVR"},{"agence":"CTM","secteur":"Agdal","serie":" G3M4NOJ"},{"agence":"CTM","secteur":"Essaouira","serie":" CZC1221B85"},{"agence":"Gare Routiere Municipale","secteur":"Essaouira","serie":" CZC145YL3"}] ;

heres the js Code :

var treedata_avm = [];
    for(var i=0; i < myData.length; i++) {
       // alert('roro '+myData[i].secteur);
        treedata_avm.push({
            label: myData[i].secteur,
            children: [{
                label: myData.agence,
                children: [myData[i].serie]
            }]
        });
    }
   $scope.my_data = treedata_avm;

HTML:

   <abn-tree tree-data="my_data " tree-control="my_tree" on-select="my_tree_handler(branch)" expand-level="2" initial-selection="Granny Smith" icon-leaf="ti-file" icon-expand="ti-plus" icon-collapse="ti-minus"></abn-tree>

it works fine but i didnt get the expected bevaviour which i want..what i want is to get the data group by secteur and agence like this:

-Safi
    -CTM
        CZC1448YZN
        2UA13817KT

  -Rabat
    -CTM
        CZC1349G1B
        2UA0490SVR
    -Agdal
        G3M4NOJ
-Essaouira
    -CTM
        CZC1221B85
    -Gare Routiere Municipale
        CZC145YL3
  • Possible duplicate of [What is the most efficient method to groupby on a javascript array of objects?](http://stackoverflow.com/questions/14446511/what-is-the-most-efficient-method-to-groupby-on-a-javascript-array-of-objects) – jbrown Dec 30 '16 at 15:32

1 Answers1

0

Use lodashJs

_.map(_.groupBy(myData, 'secteur'), (val, key1) =>{
console.log(key1);
var obj ={};
 obj[key1] =  _.groupBy(val, 'agence')
return obj
})

Hope this helps.

Amit Jamwal
  • 629
  • 1
  • 6
  • 16