我想展開嵌套散列到數組。例如:將嵌套散列展平到陣列
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