let results = {
data: [{
name: 'name1',
type: 't1'
}, {
name: 'name2',
type: 't2',
children: [{
name: 'name3',
type: 't3'
}, {
name: 'name4',
type: 't1',
children: [{
name: 'n6',
type: 't2'
}]
}]
}, {
name: 'name5',
type: 't3'
}]
}
const fun1 = (obj) => {
if (obj.data) {
let newObj = obj.data.flatMap(item => {
if (item.type === 't1') {
return []
} else if (item.children) {
return {
...item,
children: fun1(item.children)
}
} else {
return item
}
})
return {
data: newObj
}
} else if (obj.children) {
return fun1(obj.children)
} else {
return obj.flatMap(item => {
if (item.type === 't1') {
return []
} else if (item.children) {
return {
...item,
children: fun1(item.children)
}
} else {
return item
}
})
}
}
let filted = fun1(results)
console.log(`${JSON.stringify(filted, null, 2)}`)
json 递归算法去掉个别的选项业务
最新推荐文章于 2024-04-30 13:26:40 发布