Exemplo com parâmetro via recursão em JavaScript

Vamos, por meio de recursão, exibir sequencialmente os elementos de um array. Suponha que o array inicialmente seja passado como parâmetro para a função:

javascriptfunc([1, 2, 3]);

Vamos primeiro, sem usar recursão, utilizando o método shift exibir todos os elementos do array um por um:

javascriptfunction func(arr) {
  console.log(arr.shift()); // exibirá 1
  console.log(arr); // exibirá [2, 3] - o array diminuiu
  
  console.log(arr.shift()); // exibirá 2
  console.log(arr); // exibirá [3] - o array diminuiu
  
  console.log(arr.shift()); // exibirá 3
  console.log(arr); // exibirá [] - o array está vazio
}

func([1, 2, 3]);

Como você pode ver, o método shift remove e retorna o primeiro elemento do array, enquanto o próprio array é reduzido por esse elemento.

Agora, vamos usar recursão:

javascriptfunction func(arr) {
  console.log(arr.shift(), arr);
  
  if (arr.length != 0) {
    func(arr);
  }
}

func([1, 2, 3]);

Na verdade, é claro que é mais fácil iterar pelos elementos do array com um loop. Os exemplos fornecidos simplesmente demonstram o funcionamento da recursão com exemplos simples (não do mundo real). Exemplos mais úteis de aplicação de recursão são simplesmente mais complexos, vamos analisá-los a seguir.

Задание 1

Dado o array:

javascriptlet arr = [1, 2, 3, 4, 5];

Usando recursão, exiba os elementos deste array no console.