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.
evidentemente c'è qualcosa di semplice che mi sfugge (non sono sicuro di quel out.concat)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)) }) } }


Rispondi quotando