首页 > 代码库 > 将多重嵌套数组恢复为一个数组
将多重嵌套数组恢复为一个数组
问题:给定一个任意多重嵌套数组,把它恢复为一个完整的数组,没有嵌套。
样例:
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 }
将多重嵌套数组恢复为一个数组
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。