il classico degli esempi scolastici della programmazione ricorsiva, si vede che sono arrugginito
Devo fare una visita ad un albero così formato:
- nodi figli sono contenuti in un array '_children'
- nodi foglia (che sono di tipo 'placeholder' o 'des') contengono un array 'elementi'
Voglio restituire un array con tutti gli 'elementi' dell'albero, l'ordine (dfs, bfs,..) non importa.
codice:
function dfs(node){ var out=new Array();
if(node.type=='placeholder' || node.type=='des') {
$.each( node.articoli, function( key, elm) {
out.push(elm)
})
return out;
} else
if(node._children){
$.each( node._children, function( key, nod ) {
return out.concat(dfs(nod))
})
}
}
evidentemente c'è qualcosa di semplice che mi sfugge (non sono sicuro di quel out.concat)