1.使用arguments對象實現函數的遞歸調用?arguments對象中保存了函數的參數信息和callee,caller屬性,callee屬性用於進行函數的遞歸調用;
一個數組arr=[1,2,[1,6,5,[5,9]]],請將數組轉爲一維數組;
核心內容:
-
使用遞歸
-
使用數組合並concat()方法
var arr=[1,2,[1,6,5,[5,9]]];
function recursiveOperate(arr){
var test;
for(var i in arr){
if(arr[i] instanceof Array){
arr=arr.concat(arr[i]);
arr.splice(i,1);
arguments.callee(arr);
}else{
console.log(arr); //這樣寫打印的次數有些太多了,不友好
}
}
}
recursiveOperate(arr);