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);