- input ID和一个递归对象,删除有ID的该项
- 我写的函数如下
function deleteNode(paramId,obj){
console.log('enterDelete',obj)
for(let o in obj){
if(obj[o].paramId==paramId){
console.log('从那个里删除',obj)
obj.splice(o,1)
return obj
}
else{
if(obj[o].hasOwnProperty('subList')&&obj[o].subList.length!=0){
console.log(4,JSON.parse(JSON.stringify(obj[o].subList)))
let m=JSON.parse(JSON.stringify(obj[o].subList))
deleteNode(paramId,m)
}
}
}
}
期望
obj={
"paramId":"默认字典",
"sourcePath":"默认路径",
"subList":[
{
"paramId":500064,
"sourcePath":"Result",
"subList":[
{
"paramId":500061,
"sourcePath":"Partners",
"subList":[
]
}
]
}
]
}
paramId=500061
// 期望输出
{
"paramId":"默认字典",
"sourcePath":"默认路径",
"subList":[
{
"paramId":500064,
"sourcePath":"Result",
"subList":[
// 删除这一项
]
}
]
}
参考一下: