递归函数,自己调用自己,达到某一条件时停止调用。
我理解的是类似于两个正面对着的镜子,镜子中的画面不停重复,直到某一个时刻停止。
1、使用场景:需要提取某个接口的返回数据,返回数据如下:
已知orgFlag为true,表示为部门,每个部门,有自己的部门id和部门name,部门下可能有部门,可能有多个人员;
orgFlag为false时,表示为的人员id和人员name。
要求提取出每个部门的人员id,人员name,以及他们所在的部门id。(排除掉部门为-1的人员)
2、思路:
(1)先取到data对应的列表数据,再对该列表数据进行处理:
data对应的列表可以考虑看做一个大的children,先处理外面层级的children,再处理下一层级的children,每一层都是相同的处理方法,就是不停地处理children内的内容。
(2)再思考如何处理children内的内容:
orgFlag为true时,拿id为部门id,orgFlag为false时,拿人员id和name,所以结果列表可以设计为,由n个元组构成,每一个元组中包含人员id、人员name、部门id三个值。
3、实现方式如下:
返回结果: