记录常用函数
* * * * *
~~~
/*
* @desc 递归函数
* @param {Object} tree: 操作节点
* @param {Array} arr: 要操作的原数组
* @return 返回一个经过操作处理的数组
*/
function convertTree (tree, arr) {
// 首先定义退出条件
if (!tree) return arr
// 需要对当前节点做的操作
// 比如添加属性或者拉取属性
arr.push(tree)
// 完成对当前节点操作后,判断是否有还需要遍历的条件
// 这里的条件就是当当前节点还有一个需要遍历的子节点时:
if (tree.children && tree.children.length > 0) {
for (let i = 0; i < tree.children.length; i++) {
convertTree(tree.children[i], arr)
}
}
}
~~~