首页 > 编程语言 > 详细

将多重嵌套数组恢复为一个数组

时间:2016-12-10 19:54:07      阅读:274      评论:0      收藏:0      [点我收藏+]

问题:给定一个任意多重嵌套数组,把它恢复为一个完整的数组,没有嵌套。

样例:

Input

steamrollArray([[["a"]], [["b"]]])

steamrollArray([1, [2], [3, [[4]]]])

Output

["a", "b"]

[1, 2, 3, 4]

 

实现:利用dfs搜索,一步步找是否是数组(Array.isArray(arr)判断是否是数组)

代码如下:

 1 function steamrollArray(arr) {
 2   var newArr = [];
 3   function dfsArray(arr) {
 4     for(var i = 0; i < arr.length; i++) {
 5       if(!Array.isArray(arr[i])) {
 6         newArr.push(arr[i]);
 7       } else {
 8         dfsArray(arr[i]);
 9       }
10     }
11   }
12   dfsArray(arr);
13   return newArr;
14 }

 

将多重嵌套数组恢复为一个数组

原文:http://www.cnblogs.com/RRirring/p/6156209.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!