zoukankan      html  css  js  c++  java
  • 利用递归遍历数据

    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;
    }
  • 相关阅读:
    我所遭遇过的游戏中间件---HumanIK
    我所遭遇过的游戏中间件--Kynapse
    3D屏保:排色榜
    3维DEMO: 抽奖圆盘
    MySQL存储过程中的3种循环
    MyISAM与InnoDB两者之间区别与选择,详细总结,性能对比
    如何执行字符串的PHP代码
    PHP 注册错误和异常处理机制
    Mysql表中唯一编号的分配机制
    装系统w7、ubuntu、centos等系统(一)
  • 原文地址:https://www.cnblogs.com/J-Luck/p/12931042.html
Copyright © 2011-2022 走看看