JS實現n維數組按順序轉化爲一維數組

代碼呈上:

	//var了個n維數組
	var arr = [1,2,[3,[4,5,[1,2,3]],4,5],6,[7,8],9];
	//創建一個數組接收n維數組解析出來的值
    var res = [];
    function transform(arr){
        for(var i = 0;i<arr.length;i++){
        //當數組的時候遞歸調用transform,否則放入res中
            if(arr[i] instanceof Array){
                transform(arr[i]);
            }else  {
                res.push(arr[i]);
            }  
        } 
    }
    transform(arr);
    console.log(res);

實現思路:

  1. 首先我們需要創建一個函數實現遍歷整個數組;
    function transform(arr){
      for(var i = 0;i<arr.length;i++){
       }
    }
    
  2. 然後我們進行判斷數組中每個元素的類型,如果不是數組的話,我們把這個數放到我們的預先準備好的res中,如果數組的話我們調用一下自身,但是此時傳入的值應該是當前元素
    if(arr[i] instanceof Array){
        transform(arr[i]);
    }else  {
        res.push(arr[i]);
    }  
    
  3. 最後合併兩塊代碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章