阿里前端面试题之获取嵌套结构深度
发布时间
阅读量:
阅读量
题目描述
确定嵌套数组的层级深度,当提供一个包含嵌套结构的数组时,设计一种方式用于计算该数组中嵌套层级的最大值。若数组中不存在任何子数组,则返回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)
还没有任何评论哟~
