数组的filter递归

2018-10-11  本文已影响0人  月下吴刚_c8c7

注意: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
}
上一篇 下一篇

猜你喜欢

热点阅读