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

时间:2015-09-11 19:44:43

标签: 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,但我得到'未定义' 我应该如何返回正确的值?

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

您错过了function nthArr(arr, index){ return arr[index]; } var result = document.getElementById('result'); result.textContent = nthArr([1,2,3,4,5,6], 3);声明......但为什么不简化整个事情?



<span id="result"></span>
&#13;
parseUserFile
&#13;
&#13;
&#13;