小记一下递归通过id寻找一条链路的数据

Array.prototype.remove = function(val) {
var index = this.indexOf(val);
if (index > -1) {
this.splice(index, 1);
}
};
function getNames(array,childs,age){
    for(var i=0;i<array.length;i++)
    {
        var item=array[i];
        if(item.age==age){
            childs.push(item);
            return childs;
        }
        if(item.children&&item.children.length>0){           
            childs.push(item);
            var rs=getNames(item.children,childs,age);
            if(rs){
                return rs;
            }
            else{
                childs.remove(item);
            }
        }
    }
    return false;
}
var aa = [
        {name:'BBB',age:141,children:[{name:'bbb1',age:15},{name:'bbb2',age:19}]},
{name:'C1+',desc:'1',age:131,children:[{name:'c2+',desc:'1',age:15,children:[{name:'c3+',desc:'1',age:11}]},{name:'C2+',desc:'1',age:15,children:[{name:'C3+',desc:'1',age:10}]}]}
];
var result=getNames(aa,[],10);
var str="";
for(var i=0;i<result.length;i++){
        str+=result[i].name;
}
alert(str);
原文地址:https://www.cnblogs.com/wuxu-dl/p/12185596.html