数组的filter递归

注意:filter() 不会对空数组进行检测 ; filter() 不会改变原始数组。

var  data = [  {
    id: 1, name: 'a', 
     children:[  
        { id: 2, name:'b',  children:[ {id:3,name:'c' }]} 
    ]
}]

使用递归和filter获取到其中id为3的那一项,

function getItem (data,id){
  let result;
  result = data.filter (function (item){
    return item.id === id
  })
  if (data.children){
    result = result.concat(getItem(data.children,id))
  }
  return result
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。