我想選擇使用此功能數組第N個元素:使用遞歸查找數組元素 - JavaScript的
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
,而是我得到「未定義」。
我應該如何返回正確的值?
我想選擇使用此功能數組第N個元素:使用遞歸查找數組元素 - JavaScript的
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
}
- 我的java習慣:-) – borism
您錯過了return
聲明......但爲什麼不簡化整個事情呢?
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>
是的這更簡單,但我需要它遍歷列表對象 – borism
不應該有一個'後某處return''else'? – Biffen
嗯......但是爲什麼?不管'arr [index]'是否適用於所有指數? –
@JohnBupit數組[]正確訪問索引 – Onilol