javascript - js递归遍历
本文介绍了javascript - js递归遍历的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
帮我看看哪有问题
var tree = {
name: 'root',
children: [{
name: 'child1',
children: [{
name: 'child1_1',
children: [{
name: 'child1_1_1'
}]
}]
}, {
name: 'child2',
children: [{
name: 'child2_1'
}]
}, {
name: 'child3'
}]
};
function traverseTree(node) {
var child = node.children, arr = [];
if (child) {
for (var i in child) {
if (!child[i].children) {
arr.push({ "name": child[i].name });
} else {
traverseTree(child[i]);
}
}
}
return arr;
}
解决方案
function traverseTree(node){
var child = node.children,
arr = [];
arr.push({ name: node.name });
if(child){
child.forEach(function(node){
arr = arr.concat(traverseTree(node));
});
}
return arr;
}
这篇关于javascript - js递归遍历的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文