为了账号安全,请及时绑定邮箱和手机立即绑定

根据树节点的位置,修改对应的节点值?

根据树节点的位置,修改对应的节点值?

大话西游666 2019-05-25 14:04:14
如题,根据树形结构中的节点位置,修改节点的值,例如[{id:0,pos:'0',name:'a-0',children:[{id:1,pos:'0-0',name:'b-1'},{id:2,pos:'0-1'name:'b-2',},{id:3,pos:'0-2'name:'b-3',children:[{id:4,pos:'0-2-0'name:'c-4',},{id:5,pos:'0-2-1',name:'c-5',children:[{id:6,pos:'0-2-1-0'name:'d-6',}]}]}]}]已知位置'0-2-1'表示'c-5',可以通过这个位置修改树的值。希望能够通过不递归查询树的方式修改值,可扩展。谢谢
查看完整描述

2 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

供参考
'0-2-1'.split('-').reduce((node,p,i,pos)=>i===pos.length-1?node[p].name:node[p].children,data)
                            
查看完整回答
反对 回复 2019-05-25
?
不负相思意

TA贡献1777条经验 获得超10个赞

对应的方法:
functionsetTreeDataByPos(,pos,callback){
constposArr=pos.split('-')
posArr.reduce((node,p,i,pos)=>{
if(i===posArr.length-1){
callback(node,i)
}else{
returnnode[p].children
}
},tree)
}
                            
查看完整回答
反对 回复 2019-05-25
  • 2 回答
  • 0 关注
  • 597 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号