【发布时间】:2023-01-07 08:49:14
【问题描述】:
这是我当前的函数——我理解使用递归的前提,但似乎无法获得下面的函数来返回元素的索引——当前返回未定义。
我的目标是创建此函数的递归版本(使用 for 循环:
// function searchIndex(arr, target) {
// for(let i = 0; i < arr.length; i++) {
// if(arr[i] == target) {
// return arr.indexOf(target);
// }
// }
// return -1;
// }
我目前的代码如下:
function searchRecursive(arr, target) {
// base case
if (arr[0] === target) {
return 0;
}
else {
searchRecursive(arr.slice(1), target)
}
}
【问题讨论】:
-
else 缺少返回
-
考虑不使用 else,因为您要提早返回。
-
这将始终返回
0或超过 max.callstack
标签: javascript recursion