JS寫一個方法,傳入一個數組,返回該數組的層深(維度)


現在我們有一個多維數組,我們想得到該數組的層深,即最大維度

如:var arr = [1, [4,[5,6,[7]]], [2,3]] = 0;返回4;那么我們該怎么做呢?

核心思想:遞歸,循環遍歷

// 這里傳入兩個參數
// 參數一為數組
// 參數二為初始數組的層深
function fo(arr,len){
    var flag = false;
    var arr1 = [];
    for(var i=0; i<arr.length; i++){
        if(!!arr[i].length){
            for(var j=0; j<arr[i].length; j++){
                arr1.push(arr[i][j]);
            }
            flag = true;
        }
    }
if(flag){ len++;
  
return fo(arr1,len) }else{ return len; } } //初始數組層深為1; var len = fo(arr,1) console.log(len); //4

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM