zoukankan      html  css  js  c++  java
  • FreeCodeCamp javascript基础最后一节 递归调用练习

    一、已经定义好了 rangeOfNumbers 函数,包含两个参数。 函数应该返回一个连续数字数组,startNum 参数开始 endNum 参数截止。 开始的数字小于或等于截止数字。 函数必需递归调用自身,不能使用任意形式的循环。 要考虑到 startNum 和 endNum 相同的情况。
    rangeOfNumbers(1, 5) 应该返回 [1, 2, 3, 4, 5]。
    rangeOfNumbers(6, 9) 应该返回 [6, 7, 8, 9]。
    rangeOfNumbers(4, 4) 应该返回 [4]。

    //按照开始值递增,使用unshift方法往数组左侧插入
    function rangeOfNumbers(startNum, endNum) {
      if(startNum - endNum >0){
        return [];
      }else if(startNum == endNum){
        return [startNum];
      }else{
        const rangeOfArray= rangeOfNumbers(startNum + 1,endNum);
        rangeOfArray.unshift(startNum);
        return rangeOfArray;
      }
    };
    
    

    或者

    //按照结束值递减,使用push方法往数组右侧插入
    function rangeOfNumbers(startNum, endNum) {
      if(startNum - endNum >0){
        return [];
      }else if(startNum == endNum){
        return [startNum];
      }else{
        const rangeOfArray= rangeOfNumbers(startNum,endNum - 1);
        rangeOfArray.push(endNum);
        return rangeOfArray;
      }
    };
    
    这世上所有美好的东西,都需要踮起脚尖。
  • 相关阅读:
    C语言左移和右移
    mmap详谈
    eclipse插件自动生成类图
    async 和 defer 的区别
    SVN里恢复到某一天的版本操作
    解决跨域的jsonp+Java实例
    HTTP请求行、请求头、请求体等
    ajax在什么情况下会走success和error
    记阅读POST与GET的区别
    记一些快捷键
  • 原文地址:https://www.cnblogs.com/XMYG/p/15214045.html
Copyright © 2011-2022 走看看