[英]Can someone explain for me how this recursion works?
这是乘法 function,它接受一个数组和数组中的 n 个元素,并返回数组中 N 个元素的乘积。
function multiply(arr, n) {
if (n <= 0)
return 1;
let first = multiply(arr, n - 1);
console.log(`first value: ${first}`);
console.log(typeof(first))
let second = arr[n - 1];
let result = first * second;
return result;
}
const mul = multiply([1,2,3],2);
console.log(mul)
这个递归如何替换 for 或 while 循环?
function 将数组的最后一个元素与n
元素multiply
,即arr[n-1]
与该数组前一个元素的乘积。
“先前元素的乘积”是使用multiply
本身计算的。
一旦数组中没有元素,递归就结束。 然后将1
作为乘法的初始因子。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.