【发布时间】:2016-01-26 07:32:39
【问题描述】:
所以我有一个基本问题需要解决。我需要采用以下嵌套数组 [1, 2, ["str", 1], [[2]]] 并返回 [1,2,"str",1,2]。最终删除所有嵌套数组。以下是我不完整的解决方案:
test = [1, 2, ["str", 1], [[2]]]
def remove_array(array)
new_array = []
array.each do |item|
if item != Array
puts "you are here"
new_array << item
else
remove_array(item)
end
end
end
remove_array(test)
这是一种经典的递归方法。但是,我似乎想不出如何维护new_array。每次我将作为数组的项目传递给它时,new_array 都不会保持其状态。我还想指出,我知道内置方法flatten,因为我试图在没有上述方法的情况下解决解决方案。任何建议将不胜感激。
【问题讨论】:
-
您是想从头开始实施,还是一个简单的答案就足够了?