Java教程

FreeCodeCamp javascript基础最后一节 递归调用练习

本文主要是介绍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;
  }
};
这篇关于FreeCodeCamp javascript基础最后一节 递归调用练习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!