我想展开嵌套散列到数组。例如:将嵌套散列展平到阵列
a = {'1'=>{'2'=>{'5'=>{},'6'=>{'8'=>{}}}},'3'=>{},'4'=>{'7'=>{}}}
和flatten_nested_hash的结果(一)将是:
["1", "2", "5", "6", "8", "3", "4", "7"]
最后我写了一些递归函数,但我觉得必须有这样的一些比较容易的,非递归的方式它。
我的功能看起来是这样的:
def flatten_nested_hash(categories)
categories.map do |k,v|
if v == {}
k
else
[k,flatten_nested_hash(v)]
end
end.flatten
end
@ raam86 PHP和Ruby是完全不同的语言。可能有重复的地方,但绝对不是那个。 – Mischa
@米沙我完全同意。必须说我自己太懒惰以至于无法生成评论。固定。 – raam86
http://stackoverflow.com/questions/16047106/getting-to-the-bottom-of-a-multidimensional-array-of-objects可以给这个问题另一个观点 – raam86