如何在Rails中找到包含对象的数组的索引?

时间:2012-01-19 22:03:14

标签: ruby-on-rails-3 multidimensional-array iterator

我有一个对象数组,我想找到数组中哪个元素具有等于某个值的特定属性,具体来说,此数组中的哪个元素具有:parent_id等于{{1}的对象}。

我该怎么做?

3 个答案:

答案 0 :(得分:10)

查找索引:

 array.index{ |item| item.parent_id == 55 }

要查找项目:

array.find{ |item| item.parent_id == 55 }

答案 1 :(得分:0)

 array.collect{|a| a[:parent_id]==55 ? a : nil}.compact!

应该做的工作。首先在新数组中收集符合条件的所有元素,而不是删除误报(nil)元素。

答案 2 :(得分:0)

我会使用Enumerable#select Docs

results = my_array.select do |item|
  item[:parent_id] == 55
end