如何用 js 递归输出树型 数据:id name parentid1 a 2 a1 13 a11 24 a12 25 a2 16 a21 5用js写个递归函数,输出如下内容:a a1 a11 a12 a2 a21 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你把数据封装成json格式 之后递归遍历就是了啊 你把从属关系用children属性表示一下,然后按着这个输出就好了。 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)); 为什么弹出的是整个函数代码? 各位兄弟帮忙看看这个代码问题出在哪啊 求教! javascript中到底能否实现lock操作 再问一遍这个this指的是谁? 正则 如何确定 没有某字符串 如何查找字符串里里面的反斜杠 input 只允许输入100的倍数 如何写? 修改问题。 如何将鼠标设为无效状态? 请教一个看不懂的js源代码 ExtJS4.0+ 组件构造器参数传递问题
{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));