【发布时间】:2019-07-31 03:24:28
【问题描述】:
我的问题与this question 中的问题相同,但唯一的区别是我必须根据给定的允许步骤数组返回可以攀登台阶的方式数。例如,如果要爬的台阶是4,允许的台阶是[1,3],则结果应该是3。组合:[(1,1,1,1),(1,3),(3,1)]
我尝试将代码修改为:
function add(x,arr){
let result = 0
if(x<0)
return 0;
if(x===0)
return 1;
else{for(let i=0 ; i<arr.length ; i++){
result += add(x-arr[i]);
}
return result};
}
add(4,[1,3])
但这会返回一个错误,说cannot read property length of "undefined"。我该如何纠正这个问题?
【问题讨论】:
-
你怎么称呼
add(x, arr)?该消息将清楚地表明arr是undefined -
add(x-arr[i]); -
对不起,我没有包括那个。这是调用 add 后的内容。
标签: javascript recursion