关于递归,个人理解,怎么递归进去,怎么再递归出来。这就完事了
js递归遍历树结构(tree)
我们有时候需要把树结构变成数组,来进行更好的操作。
下面是代码。
代码一
let datas = [] //是一个树结构的数据
setName(datas){ //遍历树 获取id数组
for(var i in datas){
this.expandedKeys.push(datas[i].id)
if(datas[i].children){
this.setName(datas[i].children);
}
}
},代码二,用于封装
treeToArray: function (datas) { //遍历树 获取id数组
var expandedKeys = []
for (var i in datas) {
var item = this.deepCopy(datas[i]) ;
delete item.childCategory
expandedKeys.push(item)
if (datas[i].childCategory) {
expandedKeys =expandedKeys.concat(this.treeToArray(datas[i].childCategory))
}
}
return expandedKeys;
},