2010-10-11 27 views
0

我有一个结构数组。每个结构有下面的两个属性:构造阵列上的多属性排序和过滤

  • 取胜%
  • #胜

我想通过取胜%结构的数组进行排序;但是,只有那些至少有3胜的结构。

有什么建议吗?

+1

目前尚不清楚你想要发生与胜少的结构是什么。也许一些示例数据会有所帮助? – Chowlett 2010-10-11 20:51:51

+0

@Chris:标题说“过滤”,所以我只是假设他想过滤出来。 – sepp2k 2010-10-11 20:53:30

+0

公平点。如果是这样,sepp2k的答案确实很好。 – Chowlett 2010-10-11 20:57:55

回答

1

首先使用select只参加对象至少有3个胜场,然后使用sort_by由百分比排序:

array.select {|x| x.num_of_wins >= 3}.sort_by {|x| x.win_percent}