阿里8/28前端笔试编程题

有些记得不是很清楚。
大概如下:/*@param depth {Number} 嵌套数组的深度,默认值为1*/
Array.prototype.reduceDepth = function(depth){
//写代码地方
}
实例输出:
 const arr1 = [1,[2,3]];  const arr2=[1,[2,3,[4]]];  const arr3=[1,[2,3,[4]]];  const arr4=[1, ,[3,4]];  console.log(arr1.reduceDepth());  //[1,2,3]
 console.log(arr2.reduceDepth());  //[1,2,3,[4]] console.log(arr3.reduceDepth(2)); //[1,2,3,4] console.log(arr4.reduceDepth());   //[1,3,4]
有木有大佬试下啊,一脸蒙蔽
#阿里巴巴##前端##笔试题目#
全部评论
看来前端还不是一套题
点赞 回复 分享
发布于 2019-08-28 21:02
递归拍啊,传入的深度为结束条件
点赞 回复 分享
发布于 2019-08-28 21:08
解出来了。。。。 Array.prototype.reduceDepth(depth){     if(!depth){         depth = 1;     }     var newArr=[];     var currArr = this;     function pushArr(currArr,t){         var count = t+1;         for(var i = 0;i<currArr.length;i++){             if(currArr[i]==undefined){                 continue;             }             if(Array.isArray(currArr[i])){                 if(count > depth){                     return newArr.push(arr[i]);                 }                 fun(arr[i],count);             }else{                 newArr.push(currArr[i]);             }         }     }     pushArr(currArr,0);     return newArr; }
点赞 回复 分享
发布于 2019-08-28 21:32

相关推荐

孤寡孤寡的牛牛很热情:为什么我2本9硕投了很多,都是简历或者挂,难道那个恶心人的测评真的得认真做吗
点赞 评论 收藏
分享
1 7 评论
分享
牛客网
牛客企业服务