I am trying to generate a tree of flat array , placing sub categories next to the parent category and having hard doing same.
var categories = [
{
name: 'Javascript'
},
{
name: 'jQuery',
parent: 'Javascript'
},
{
name: 'AngularUi',
parent: 'Angular'
},
{
name: 'Angular',
parent: 'Javascript'
},
{
name: 'D3',
parent: 'Javascript'
}
];
var tree = [];
function getChilds(array,identifier){
return _.filter(array,function(val){
return val.parent == identifier
});
}
function createTree(array){
for(var x=0;x<_.size(array);x++){
tree.push(array[x].name);
var childs = getChilds(array,array[x].name);
if(_.size(childs) > 0){
createTree(childs);
}else{
$('div').append(JSON.stringify(tree));
}
}
}
createTree(categories);
<script src="http://ift.tt/OMnhxL"></script>
<script src="http://ift.tt/1oMJErh"></script>
<div></div>
Expected Output
['Javascript','Jquery','Angular','AngularUi','D3']
This is what i have tried so far, and using underscore for little help. Any help will be appreciated .
Aucun commentaire:
Enregistrer un commentaire