假设每个节点有 id name children 三个属性
function find_node(data,id_find)
{
var toDo = [];
toDo.push(data[0]);
while(toDo.length)
{
var node = toDo.shift();
if(node.id == id_find) return node;
if (node.children)
{
for(var i=0; i<node.children.length; i++)
{
var n = node.children[i];
toDo.push(n);
}
}
}
return undefined;
}