我想找出isFolder全为true的对象,并且返回的新数组的目录层次结构不会改变
也就是把数组中对象isFolder为false的删除掉
可是我这样写没有达到我的目的,不知道为什么
我写的函数
function loop(data) {
return data.filter((item) => {
if (item.isFolder) {
loop(item.children);
return item
}
})
}
原数组
let data2 = [
{
"isFolder": false
},
{
"isFolder": true,
"children": [
{
"isFolder": false
},
{
"isFolder": true,
"children": [
{
"isFolder": false
},
]
}
]
}
]
期望得到的新数组
[{
"isFolder": true,
"children": [
{
"isFolder": true,
"children": []
}
]
}]
loop会返回一个数组, 你的回调中这个返回的数组毫无作用