递归

递归函数:函数内部自己调用自己,这个函数就是递归函数
复制代码
1 function fn() {
2     console.log('我要打印6句话');
3     if(num == 6) {
4       return; // 递归里面必须加退出条件
5     }
6     num++;
7     fn();
8 }
9 fn();
复制代码
 
利用递归函数求1~n的阶乘1*2*3*4*n
1  // 利用递归函数求1~n的阶乘1*2*3*4*n
2   function fn(n) {
3     if(n == 1) {
4       return 1;
5     }
6     return n * fn(n-1);
7   }
8   console.log(fn(3));
 
斐波那契序列
复制代码
1 // 利用递归函数求斐波那契(兔子序列)1、1、2、3、5、8、13、21...
2 // 用户输入一个数字n,就可以求出 这个数字对应的兔子序列值
3 // 我们只需要知道用户输入的n的前面两项(n-1 n-2)就可以计算出n 对应的序列值
4   function fb(n) {
5     if (n === 1 || n === 2) {
6       return 1;
7     }
8     return fb(n - 1) + fn(n - 2);
9   }
复制代码
 
我们想要做输入id号,就可以返回的数据对象
复制代码
 1 // 我们想要做输入id号,就可以返回的数据对象
 2   // 1. 利用forEach去遍历里面的每一个对象
 3   function getID(json, id) {
 4     var o = {};
 5     json.forEach(function(item){
 6       if(item.id === id) {
 7         o = item;
 8         return item;
 9       } else if (item.goods && item.goods.length > 0) {
10         o = getID(item.goods, id);
11       }
12     })
13     return o;
14   }
15   console.log(getID(data, 1));
16   console.log(getID(data, 11));
17   console.log(getID(data, 111));
复制代码

 
posted @   鼓舞飞扬  阅读(133)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示