如何用 js 递归输出树型

dengfeiling 2013-05-15 05:52:05
数据:
id name parentid
1 a
2 a1 1
3 a11 2
4 a12 2
5 a2 1
6 a21 5

用js写个递归函数,输出如下内容:
a
a1
a11
a12
a2
a21
...全文
3954 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bbjbepzz 2013-05-15
  • 打赏
  • 举报
回复
var data = [
	{id:1,title:'a',pid:0},
	{id:2,title:'a1',pid:1},
	{id:3,title:'a11',pid:2},
	{id:4,title:'a12',pid:2},
	{id:5,title:'a2',pid:1},
	{id:6,title:'a21',pid:5}
];
function fn(data,pid){
	var result = [] , temp;
	for(var i in data){
		if(data[i].pid==pid){
			result.push(data[i]);
			temp = fn(data,data[i].id);			
			if(temp.length>0){
				data[i].children=temp;
			}			
		}		
	}
	return result;
}
console.log(fn(data , 0));
dengfeiling 2013-05-15
  • 打赏
  • 举报
回复
各位,请上代码
NANU-NANA 2013-05-15
  • 打赏
  • 举报
回复
你把从属关系用children属性表示一下,然后按着这个输出就好了。
似梦飞花 2013-05-15
  • 打赏
  • 举报
回复
你把数据封装成json格式 之后递归遍历就是了啊

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧