Instruções
Construa um Gerador de Intervalo de Números
Neste laboratório, você irá construir uma função
rangeOfNumbers que gera um array de números dentro de um intervalo especificado.
Exemplos:
rangeOfNumbers(3, 9)retorna[3, 4, 5, 6, 7, 8, 9]rangeOfNumbers(5, 5)retorna[5]
- Use recursão (a função deve chamar a si mesma)
- Sem loops ou métodos de array (
for,while,Array.from,forEach,map,filter,reduce)
rangeOfNumbers que recebe dois parâmetros: startNum e endNum.
1. A função deve retornar um array de inteiros que começa com o número representado pelo parâmetro startNum e termina com o número representado pelo parâmetro endNum (inclusivo).
1. O startNum sempre será menor ou igual ao endNum.
1. Sua função deve usar recursão fazendo uma chamada a si mesma. Ela não deve usar nenhuma sintaxe de loop (for, while, Array.from(), ou funções de mais alta ordem como forEach, map, filter ou reduce).
1. A função deve lidar com o caso base onde startNum é igual a endNum retornando um array contendo apenas esse único número.
1. Para o caso recursivo, a função deve chamar a si mesma com parâmetros modificados para construir o array, e então adicionar o número atual ao resultado.
1. A função não deve depender de variáveis globais para armazenar em cache ou construir o array.
O que fazer:
Testes:
- Você deve ter uma função chamada `rangeOfNumbers`.
- A função `rangeOfNumbers` deve receber dois parâmetros.
- Sua função deve retornar um array.
- Seu código não deve usar nenhuma sintaxe de loop (`for`, `while`, `Array.from()` ou funções de ordem superior como `forEach`, `map`, `filter` ou `reduce`).
- `rangeOfNumbers` deve usar recursão (chamar a si) para resolver este desafio.
- `rangeOfNumbers(1, 5)` deve retornar `[1, 2, 3, 4, 5]`.
- `rangeOfNumbers(6, 9)` deve retornar `[6, 7, 8, 9]`.
- `rangeOfNumbers(4, 4)` deve retornar `[4]`.
- `rangeOfNumbers(10, 15)` deve retornar `[10, 11, 12, 13, 14, 15]`.
- `rangeOfNumbers(2, 8)` deve retornar `[2, 3, 4, 5, 6, 7, 8]`.
- As variáveis globais não devem ser usadas para armazenar em cache o array.
Preview