当前位置: 首页 > Web前端 > JavaScript

各种递归方法

时间:2023-03-27 14:19:29 JavaScript

比较递归constcompare=(data1,data2)=>{data1.forEach(item1=>{data2.forEach(item2=>{if(item1.id===item2.id&&item1.children&&item2.children){if(item1.children.length===item2.children){this.checkedKeys.push(item1.id)}else{item2.children.forEach(item3=>{this.checkedKeys.push(item3.id)})}}else{compare(item1,item2)}})})}compare(this.treeData,res.result)寻父级归letparentObj=this.treeData[0]console.log(parentObj)constfindParentId=(treeData,key)=>{letflag=falsetreeData.forEach(item=>{if(item.id===key){flag=true}elseif(item.children&&item.children.length>0){parentObj=itemfindParentId(item.children,key)}})if(flag&&!resultKeys.includes(parentObj.id)){resultKeys.push(parentObj.id)}}这个。checkedKeys.forEach(key=>{findParentId(this.treeData,key)if(!resultKeys.includes(key)){resultKeys.push(key)}})