递归便利子树

 

const obj =

{

name:"1",

id:1,

child:[

{

name:2,

id:2,

child:[

{

name:4,

id:4,

}

]

},

{

name:3,

id:3,

},

{

name:5,

id:5,

}

]

}

 

// function recursionGet(setValues, valueId) {

// let value = null;

// for (let index = 0; index < setValues.length; index += 1) {

// if (setValues[index].value === valueId) {

// value = setValues[index].label;

// break;

// }

// if (setValues[index].children instanceof Array && setValues[index].children.length > 0) {

// const text = recursionGet(setValues[index].children, valueId);

// if (text)

// return text;

// }

// }

// return value;

// }


 

// 递归查找 便利子树

function deep(obj,targetId){

let value = null;

if(obj.id == targetId){

const {id,name} = obj;

value = {

id,name

}

return value;

}

if(obj.child){

for(let i = 0;i<obj.child.length;i++){

const value = deep(obj.child[i],targetId);

if(value){

return value

break;

};

}

}

}


 

console.log('deep(obj,targetId)',deep(obj,4))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值