現在我們有一個多維數組,我們想得到該數組的層深,即最大維度
如: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