语言的递归编程,javascript天然的迭代器

它来自群里的某一标题:

标题:从1累加平素加到100的和是有一点点?

有一个数n=5,不用for循环,怎么重返[1,2,3,4,5]这么二个数组
群的“糖果男孩”给的答案:

非递归的巡回写法:

复制代码 代码如下:

复制代码 代码如下:

function getArr(n) { 
    var a = [], 
        b = [], 
        m = 0; 
    a.length = n + 1; 
    a.toString().replace(/,/g, function () { 
        b.push(++m); 
    }); 
    return b; 
}

1run: function() {
2 var sum = 0;
3 for(var i=1;i<=100;i++) {
4 sum = sum + i;
5 }
6 console.log(sum);
7}

你只怕感兴趣的稿子:

  • 上学JavaScript设计形式之迭代器情势
  • JavaScript数组迭代器实例深入分析
  • 深深精晓JavaScript类别(35):设计情势之迭代器格局详解
  • JavaScript中的迭代器和生成器详解
  • js 数组达成三个左近ruby的迭代器
  • python的迭代器与生成器实例详解
  • Ruby中的迭代器详解
  • 小结javascript中的种种迭代器

递归的写法:

复制代码 代码如下:

var testCase = {
sum: 0,
run: function(n) {
if(n>=100) {
return 100;
}
else {
sum = n+ testCase.run(n+1);
return sum;
}
}
};
console.log(testCase.run(1));

地点这种代码在互连网一搜就一大堆,上面包车型地铁写法与它约等于:

复制代码 代码如下:

console.log((function(n){
var sum=0;
if(n<=1){
return 1;
}
else{
sum = arguments.callee(n-1)+n;
return sum;
}
})(100));

诸如此比的写法便于学习。以上是线性递归,作为递归入门的话基本上能用,算法的属性功用就烂了些,不作思索。

你大概感兴趣的小说:

  • js中递归函数的应用介绍
  • JavaScript的递归之递归与巡回示例介绍
  • JS 树形递归实例代码
  • JavaScript Array Flatten 与递归使用介绍
  • JS中递归函数
  • 总括javascript中的三种迭代器
  • js数组的多种迭代方法及三种归并方法(推荐)
  • javaScript数组迭代方法详解
  • JS的数组迭代方法
  • 浅谈javascript 迭代方法
  • JavaScript中的迭代器和生成器详解
  • js 数组达成叁个像样ruby的迭代器
  • Javascript 高质量之递归,迭代,查表法详解及实例

本文由华夏彩票发布于关于计算机,转载请注明出处:语言的递归编程,javascript天然的迭代器

您可能还会对下面的文章感兴趣: