2017-11-06 3 views
0

Ich versuche, verschachtelte Gruppe meines Javascript-Rohobjekts zu erstellen.So erstellen Sie eine verschachtelte Gruppe von Eigenschaften

item=[ 
{name:'Root1',id:1,parentId:null}, 
{name:'Root2',id:2,parentId:null}, 
{name:'Root3',id:4,parentId:null}, 
{name:'Root1.1',id:4,parentId:1}, 
{name:'Root1.1.1',id:5,parentId:4}, 
{name:'Root4',id:6,parentId:null} 
]; 

dies ist meine Rohdaten,

Ich möchte diese Daten im Format einige wie unten

var modified= 
[ 
    { 
     title:Root1, 
     id:1, 
     chields: 
     { 
      title:'Root 1.1', 
      id:4, 
      clields: 
      { 
       title:'Root 1.1.1', 
       id:5, 
       chield: 
       { 
        title:'New', 
        id:null 
       } 
      } 
     } 
    } 
]; 
+0

Haben Sie versucht, die Suche? Ich bin sicher, dass ich geantwortet und eine gute Antwort auf SO gesehen habe – Rajesh

Antwort

0

ich meine Lösung bekam here

var children = _.filter(array, function(child){ return child.parentid == parent.id; }); 

    if(!_.isEmpty(children) ){ 
     if(parent.id == 0){ 
      tree = children; 
     }else{ 
      parent['children'] = children 
     } 
     _.each(children, function(child){ unflatten(array, child) });      
    } 

    return tree; 
} 
Verwandte Themen