我想在遞歸函數中用數值範圍填充數組,但我在返回數組時看到一個奇怪的事情,儘管數組有值,但當我在它未給出的函數外發出警告時它仍然存在。不確定它的代碼問題或任何類型的行爲。JavaScript中的遞歸函數來填充數組?
相同的實現時,我厭倦了使用簡單的循環它工作正常。
我不知道什麼標題給這個問題,請給我一個好的建議。
遞歸
var arr = [];
function fillArray(n,i){
if(arr.length !== n){
if(i===0)
arr[i] = i;
else
arr[i] = arr[i-1] + 1;
fillArray(n,++i);
}
else{
console.log(arr);
return arr;
}
}
console.log(fillArray(10,0));
隨着For循環
var arr = [];
function fillArray(start,end){
for(var i=start,j=0;i<=end;i++,j++){
arr[j] = i;
}
return arr;
}
alert(fillArray(1,10));
你有沒有試過用調試器調試它? – 2014-12-02 13:35:11
回報我已經把console.log顯示其正確,但外部函數其未定義 – Duster 2014-12-02 13:36:55
建議堆棧溢出,如果任何人或堆棧溢出投下的問題,請給出一個理由。這有助於下次人們提出問題。 – Duster 2014-12-02 13:39:16