arguments實現遞歸合併數組

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

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章