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

求助一个递归问题

求助一个递归问题

蓝山帝景 2018-11-23 19:15:26
代码代码如下,我需要将data里面的数据递归一遍然后保留层级关系放到newTempData里面,现在不知道如何在每次递归时给newTempData加层级,也就是childrenvar data = [    {        name: "11111",        children: [            {                name: "22222"            },            {                name: "22222"            },            {                name: "22222",                children: [                    {                        name: "33333"                    }                ]            }        ]    },    {        name: "1111",        children: [            {                name: "22222",                defaultUrl: "www.baidu.com",                text: "text"            }        ]    }];var newTempData = [];function filterData(arr){    for(var i = 0, len = arr.length; i < len; i++){        //  如果有children属性,则对children元素进行递归        if(arr[i].children){            filterData(arr[i].children);        }        newTempData.push(arr[i]);    }}filterData(data);
查看完整描述

1 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

应该没错吧?

function filterData(arr){

    var result = [];


    for(var i = 0, len = arr.length; i < len; i++){

        var  obj = {

            "defaultUrl": arr[i].defaultUrl,

            'name': arr[i].name

        }

        //  如果有children属性,则对children元素进行递归

        if(arr[i].children){

            obj.children = filterData(arr[i].children);

        }


        result.push(obj)

    }


    return result;

}


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

添加回答

举报

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