Fórum Função Recursiva freecodecamp #618675
07/09/2022
0
Consegui entender uma função recursiva de um o conceito de função recursiva, mas estou a horas tentando entender somente o return de uma função exemplo que vi hoje cedo
o return é composto de 3 elementos, o arr (array), n -1 (n decrementado) e o arr[n-1] (valor indiciado do array que realiza a multiplicação). A minha duvida é: como o valor indiciado do array multiplica apenas o arr, e não o n-1? sendo n = 4, n-1 seria igual a 3, porque não é feita a conta 3 * arr[3]? porque o n-1 é ignorado e só é multiplicado o arr? ao meu ver, o return ficaria: ( arr *arr[n-1, (n-1)*arr[n-1]). Não consigo entender porque o n que é retornado pra função não é multiplicado.
let arr = [1, 2, 3, 4]
function multiply(arr, n) {
if (n <= 0) {
return 1;
} else {
return multiply(arr, n - 1) * arr[n - 1];
}
} multiply(arr, 4)
o return é composto de 3 elementos, o arr (array), n -1 (n decrementado) e o arr[n-1] (valor indiciado do array que realiza a multiplicação). A minha duvida é: como o valor indiciado do array multiplica apenas o arr, e não o n-1? sendo n = 4, n-1 seria igual a 3, porque não é feita a conta 3 * arr[3]? porque o n-1 é ignorado e só é multiplicado o arr? ao meu ver, o return ficaria: ( arr *arr[n-1, (n-1)*arr[n-1]). Não consigo entender porque o n que é retornado pra função não é multiplicado.
Pedro
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)