javascript - 使用递归查找数组中的元素 - javascript

标签 javascript arrays recursion

我正在尝试使用此函数从数组中选择第 N 个元素:

function nthArr(arr, index){
    if (index === 0)
        return arr[index];
    else nthArr(arr.slice(1), --index);
}

nthArr([1,2,3,4,5,6],3)

我会等待它返回4,但我得到的是“未定义”。
我应该如何返回正确的值?

最佳答案

您在 else 分支中缺少 return 语句。

if (index === 0)
    return arr[index];
else {
    return nthArr(arr.slice(1), --index); // Note the return
}

关于javascript - 使用递归查找数组中的元素 - javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32531062/

相关文章:

javascript - 数组中指定的if语句条件

c++ - 这个 `const char*` 的断言保证是真的吗?

java - 递归函数中的错误

java - 递归函数不起作用

javascript - MongoDB 的嵌套查询/选择

Javascript 根据另一个数组按键对对象进行排序?

javascript - 选择数组javascript的一部分

javascript - Typescript:使用 Partial<Type> 构造函数扩展类

java - 将列表中的元素添加到字符串数组

通过递归下降解析创建 cons cell 结构