为了账号安全,请及时绑定邮箱和手机立即绑定

做一个无限节点的树结构插件的原理

做一个无限节点的树结构插件的原理

拉丁的传说 2018-10-10 13:49:57
因为公司功能扩展需要,所以我想做一个无限树结构的插件来进行更新。 但是目前遇见了这样的一个问题,假如数据如下:    {        name: '水果', id: 1, children: [             {name:'水果1',id:2,children:[                 {name:'水果2',id:3,children:[                     {name:'水果2',id:3,children:[]}                         ]}             ]}         ]     }像这种无限扩展的子级,我每一层的每一个数据我都需要添加一个status对象。每一个层级都需要添加一个内层循环。但是我感觉这种办法太死了。请问有什么便捷的技巧或者写法呢?于是我想到了能否用for来for,但是尝试了一下发现不行。我又想到能否用递归实现呢?但是小弟对递归的作用还不算太明白所以没有实现。想问下,像我这种问题有什么办法可以实现用最少的代码做到每个数据里面都能给他一个status呢?
查看完整描述

1 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

  var data = [{name: '水果', id: 1, children: [

            {name:'水果1',id:2,children:[

                {name:'水果2',id:3,children:[

                    {name:'水果2',id:3,children:[]}        

                ]}

            ]}

        ]

    }];

    

 function render(data){

         

    data.forEach(function(item,index){

        item.status = false;

        if(item.children){

            render(item.children);

        }

    }); 

    console.log(JSON.stringify(data));

    return data;

 }

 

 render(data);


查看完整回答
反对 回复 2018-11-10
  • 1 回答
  • 0 关注
  • 644 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信