利用递归遍历数据

var data = [{
      id: 1,
      name: '家电',
      goods: [{
        id: 11,
        name: '冰箱',
        goods: [{
          id: 111,
          name: '海尔',
        },
        {
          id: 112,
          name: '美的',
        }]
      },
      {
        id: 12,
        name: '洗衣机'
      }]
    },
    {
      id: 2,
      name: '服饰'
    }]

    // 我们想输入id号就可以返回数组对象
    // 利用forEach去遍历每一个数组对象
    function getId(arr, id) {
      newArr = {}
      arr.forEach(function (item) {
        if (item.id == id) {
          return newArr = item;
        } //得到里层的数据
        else if (item.goods && item.goods.length > 0) {
          newArr = getId(item.goods, id)
        }
      })
      return newArr;
    }
    console.log(getId(data, 112));
 
 
export function getId(hdList, id) {
    let newArr = {}
    for(let item of hdList) {
        if (item.pageId == id) {
            return item;
        } else if (item.subPages && item.subPages.length > 0) {
            return newArr = getId(item.subPages, id)
        }
    }
    return newArr;
}
posted @ 2020-05-21 15:26  白白了个白白  阅读(335)  评论(0编辑  收藏  举报