多维数组最深层级

function deepLevel(arr = [1,2,3,[5,7,[2,[]]]]){
    let res = new Array(arr.length).fill(0)
    for(let i = 0,len = arr.length;i < len;i++){
        let item = arr[i]
        res[i]++
        if(Array.isArray(item)){
            res[i] +=  item.length ? deepLevel(item) : 1 //数组为空时,直接+1
        }
    }
    return Math.max(...res)
}

  

const deepLevel = (arr = [1, 2, 3, [5, 7, [2, []]]]) => {
  let deep = 1;
  while (arr.some(Array.isArray)) {
    arr = [].concat(...arr);
    deep += 1;
  }
  return deep;
};

  

posted @ 2020-10-08 21:13  671_MrSix  阅读(320)  评论(0编辑  收藏  举报