关于递归,个人理解,怎么递归进去,怎么再递归出来。这就完事了
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; },