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:
func([1, 2, 3]);
Vamos primeiro, sem usar recursão, utilizando o método
shift
exibir todos os elementos do array um por um:
function 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:
function 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.
Dado o array:
let arr = [1, 2, 3, 4, 5];
Usando recursão, exiba os elementos deste array no console.