需要获取到isCheck=true的所有id的集合list:[{id:'1',isCheck:false,children:[{id:'1-1',isCheck:false,children:null},{id:'1-2',isCheck:true,children:null}]},{id:'2',isCheck:false,children:[{id:'2-1',isCheck:true,children:null}]},{id:'3',isCheck:true,children:null}]想到用递归算法,把数组扁平化降级,可是获取到的数据不对,希望获取到数据为['1-2','2-1','3']steamroller:function(arr){letnewArr=[]letflat=function(item){for(vari=0;i
2 回答
慕容森
TA贡献1853条经验 获得超18个赞
constresult=[],getId=arr=>{arr.forEach(v=>{v.isCheck&&result.push(v.id);if(v.childreninstanceofArray){getId(v.children)}});}getId(list);console.log(result)//["1-2","2-1","3"]递归一下
添加回答
举报
0/150
提交
取消