2011-10-03 46 views
0

我具有由created_at(这当然是一个时间对象)来分类对象的数组最有效的方法来执行此阵列插入

我有对象的散列看起来像

{ 
time_in_integer1 => object1, 
time_in_integer2 => object2, 
time_in_integer3 => object3, 
.... 
} 

我想要以最有效的方式将object1,2,3插入到数组中,并通过比较created_at和hash中的键进行排序。

什么是最好的方法来实现这一目标?

+0

通过保持初始数组排序我猜? – Gerry

+0

你能为我澄清一些事吗?你有一个对象数组,每个对象都响应'created_at',通过它们对它们进行排序。然后你有一个散列的对象(不是?)对'created_at'做出响应,但是没有排序并且被一个unix时间戳记所锁定。然后您希望将这些对象插入到数组中,并维护数组的排序顺序。这是否正确? –

+0

@AndrewMarshall - 谢谢!散列中的对象具有created_at,但我不想用这些来比较,但我想使用键控时间戳。结束数组应保持排序顺序(由原始数组的创建和散列键时间戳) –

回答

1
+2

请包括一个示例和/或摘录“裸链接”;否则请考虑评论。这将使答复更有用。谢谢! (标题也很好) – 2011-10-03 22:34:04

+0

@pst感谢您的提示!我会记住这一点。 –

0

这应做到:

my_array = (my_array + my_hash.values).sort_by {|obj| obj.created_at }