Função Recursiva freecodecamp
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
Curtidas 0