2016-12-30 27 views
0

我在angularjs填充Tree组件继承人JSON对象:如何使用使用JSON文件GROUPBY angularjs

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"}] ; 

继承人的JS代码:

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> 

它工作正常,但我没有得到我想要的预期bevaviour ..我想要的是按secteur获得数据组,并像age他:

-Safi 
    -CTM 
     CZC1448YZN 
     2UA13817KT 

    -Rabat 
    -CTM 
     CZC1349G1B 
     2UA0490SVR 
    -Agdal 
     G3M4NOJ 
-Essaouira 
    -CTM 
     CZC1221B85 
    -Gare Routiere Municipale 
     CZC145YL3 
+0

可能重复[什么是最有效的方法来groupby在一个JavaScript数组的对象?](http://stackoverflow.com/questions/14446511/what-is-the-most-efficient-method-to- groupby-on-a-javascript-array-of-objects) – jbrown

回答

0

使用lodashJs

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

希望这有助于。

+0

谢谢你的回答,但是我是否在for循环中使用了obj? –

+0

我如何使用你的exeple ???因为它给了我一个箭头级别的错误 –

+0

这是sysntax的一个问题 –