程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> result undefined-大牛幫忙看看為啥我的js遞歸執行結果為undefined

result undefined-大牛幫忙看看為啥我的js遞歸執行結果為undefined

編輯:編程綜合問答
大牛幫忙看看為啥我的js遞歸執行結果為undefined

function a(arr, result){
if(!result){
result = [];
}
if(arr.length > 0){
result.push(arr[0]);
arr.splice(0,1);
}else{
return result;
}
}

var aa = a([1,2,3,4,5]);
console.log("result ==",aa);

最佳回答:


你這沒有遞歸,遞歸需要自己調用自己,你把數組頂部元素移除後沒有再調用自身接著處理移除的數組。

 function a(arr, result){
if(!result){
result = [];
}
if(arr.length > 0){
  result.push(arr[0]);
  arr.splice(0,1);
  a(arr,result);
}
return result;
}
var aa = a([1,2,3,4,5]);
console.log("result ==",aa);

或者

 function a(arr, result){
if(!result){
result = [];
}
if(arr.length > 0){
result.push(arr[0]);
arr.splice(0,1);
a(arr,result);
}else{
return result;
}
}
var aa=[]
a([1,2,3,4,5],aa);
console.log("result ==",aa);
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved