javascript - 关于json数组递归的问题
本文介绍了javascript - 关于json数组递归的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
var arr=[{
name:"总队",
id:"1",
alias:"zongdui",
children:[{
name:"第一支队",
id:"2",
parent_id:"1",
children:[
{
name:"第一大队",
id:"4",
parent_id:"2"
}
]},
{
name:"第二支队",
id:"3",
parent_id:"1",
children:[
{
name:"第二大队",
id:"5",
parent_id:"2"
}
]
}]
}]
这个json 怎么递归出 name 和 id ?求代码
解决方案
利用递归实现
var arr = [{
name:"总队",
id:"1",
alias:"zongdui",
children:[{
name:"第一支队",
id:"2",
parent_id:"1",
children:[
{
name:"第一大队",
id:"4",
parent_id:"2"
}
]},
{
name:"第二支队",
id:"3",
parent_id:"1",
children:[
{
name:"第二大队",
id:"5",
parent_id:"2"
}
]
}]
}];
function headFor(o, cb){
if (!o) return;
o.forEach(child => {
cb(child);
if (child.children) {
headFor(child.children, cb);
}
});
}
var res = [];
headFor(arr, function(o){
var temp = {
name: o.name,
id: o.id,
parent_id: o.id
};
res.push(temp);
});
res.forEach(e => console.log(e));
console.log(JSON.stringify(res));
Link
我答过一个几乎一模一样的。。。
https://segmentfault.com/q/10...
这篇关于javascript - 关于json数组递归的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文