【发布时间】:2013-11-12 13:02:52
【问题描述】:
我需要建造这棵树:
result = [
['t9'],
['t3',
['t4'],
['t8',
['t6'],
['t1',
['t5']
]
]
],
['t7',
['t2']
]
]
来自这些对象:
{:id => 't1', :tg => 't8', :rank => 2}
{:id => 't2', :tg => 't7', :rank => 1}
{:id => 't3', :tg => nil, :rank => 2}
{:id => 't4', :tg => 't3', :rank => 1}
{:id => 't5', :tg => 't1', :rank => 1}
{:id => 't6', :tg => 't8', :rank => 1}
{:id => 't7', :tg => nil, :rank => 3}
{:id => 't8', :tg => 't3', :rank => 2}
{:id => 't9', :tg => nil, :rank => 1}
tg 是自引用关联。
rank 是数组中的位置/索引
任何想法(在 ruby 中首选)?
【问题讨论】:
-
你能更好地表达自己吗?
result根本不像多维数组... -
您声称的“th[e]s[e] 对象”不是 Ruby 对象。
t1、t2等是什么?您希望如何将来自对象的信息传递给方法? -
@sawa 我为你简化了对象列表。
标签: ruby arrays algorithm multidimensional-array