啥叫递归
聊递归之前先看一下什么叫递归。
递归,就是在运行的过程中调用自己。
构成递归需具备的条件:
1. 子问题须与原始问题为同样的事,且更为简单;
2. 不能无限制地调用本身,须有个出口,化简为非递归状况处理。
那么我们来用递归做一个小小的扩展,看看递归能有那些具体的应用
以下是我们要是实现的样子 :
var arr = [
{ id: '29', pid: '', name: '总裁办' },
{ id: '2c', pid: '', name: '财务部' },
{ id: '2d', pid: '2c', name: '财务核算部' },
{ id: '2f', pid: '2c', name: '薪资管理部' },
{ id: 'd2', pid: '', name: '技术部' },
{ id: 'd3', pid: 'd2', name: 'Java研发部' }
]
我们要最后筛选出的样子
[
{ id: '29', pid: '', name: '总裁办' },
{
id: '2c',
pid: '',
name: '财务部',
children: [
{ id: '2d', pid: '2c', name: '财务核算部'