双重for循环里面如何删掉指定对象?

新手上路,请多包涵

打个比方
[
{
name:'上级1',
children:[

        {name:'下级1',hidden:true},
        {name:'下级2',hidden:true},
        {name:'下级3',hidden:false}
        ]

},
{
name:'上级2',
children:[

        {name:'下级1',hidden:true},
        {name:'下级2',hidden:true},
        {name:'下级3',hidden:false}
        ]

},
]
我怎么删掉childern 里面所有hidden等于true的,这一条对象

阅读 1.5k
2 个回答
function remove(arr) {
  return arr.map(item => {
    item.children = item.children.filter(r => !r.hidden)

    return item
  })
}

递归算法循环到每层的children,再使用进行删除header为true的

delete children[children.findIndex(item => item.hidden)]
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题