Advertisement

阿里前端面试题之获取嵌套结构深度

阅读量:

题目描述

确定嵌套数组的层级深度,当提供一个包含嵌套结构的数组时,设计一种方式用于计算该数组中嵌套层级的最大值。若数组中不存在任何子数组,则返回0;若仅存在一层子数组,则返回1,依此类推。

示例:

  • getArrayDeep([1,2,[3,[1,[0]]]]);输出结果为3
  • getArrayDeep([]);输出结果为0
  • getArrayDeep([[[[]]]]);输出结果为3
  • getArrayDeep([0,[2],[2,[3]]]);输出结果为2

解题思路分析

采用递归的方式实现遍历操作,并借助flag标志位来识别当前元素是否为数组类型。当检测到数组时,将其存入临时数组中并继续递归处理。待所有递归过程完成后,依据flag的值进行判断:若flag为真,则从临时数组中获取最大值作为结果;若为假,则直接返回数值1。

复制代码
    function recursiveMax(input) {
      var flag = false;
      var num = [];
      for (var i = 0; i < input.length; i++) {
    if (input[i] instanceof Array) {
      flag = true;
      num.push(recursiveMax

全部评论 (0)

还没有任何评论哟~