首页 > 编程语言 > 详细

用递归的方式将普通数组格式数据转换成树结构数据

时间:2016-01-15 16:13:15      阅读:305      评论:0      收藏:0      [点我收藏+]

原始数组:

[{title: ‘‘, name: ‘‘,fav_res_parentid: ‘‘},
{title: ‘‘, name: ‘‘,fav_res_parentid: ‘‘},
{title: ‘‘, name: ‘‘,fav_res_parentid: ‘‘}
……]

处理后的数组:

[{title: ‘‘, name: ‘‘, fav_res_parentid: ‘‘, children:[
    {title: ‘‘, name: ‘‘, fav_res_parentid: ‘‘}
    {title: ‘‘, name: ‘‘, fav_res_parentid: ‘‘}]
},
{title: ‘‘, name: ‘‘, fav_res_parentid: ‘‘, children:[
    {title: ‘‘, name: ‘‘, fav_res_parentid: ‘‘, children:[
        {title: ‘‘, name: ‘‘, fav_res_parentid: ‘‘},
        {title: ‘‘, name: ‘‘, fav_res_parentid: ‘‘}]
    },
    {title: ‘‘, name: ‘‘, fav_res_parentid: ‘‘}]
}]        

数据转换的方法:

function getTree(nodes) {

    var gc = function( parentid ) {
        var cn = [];

        for (var i = 0; i < nodes.length; i++) {
            var n = nodes[i]; 

            if(n.fav_res_parentid == parentid){ 
                n.children = gc(n.fav_res_id);
                cn.push(n);
            };
            };
        return cn;
    };
    return gc(0); 
}; 

var _data = getTree( sourcedata );        

  

用递归的方式将普通数组格式数据转换成树结构数据

原文:http://www.cnblogs.com/yuguilin/p/5133445.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!