我有一个对象数组,我想找到数组中哪个元素具有等于某个值的特定属性,具体来说,此数组中的哪个元素具有:parent_id
等于{{1}的对象}。
我该怎么做?
答案 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