2012-01-19 41 views

Trả lời

10

Để tìm chỉ số:

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

Để tìm mục:

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

nên thực hiện công việc. Đầu tiên thu thập tất cả các yếu tố phù hợp với tiêu chí của bạn trong một mảng mới, hơn loại bỏ các yếu tố dương tính giả (nil).

+0

Nếu bạn chỉ cần sử dụng chọn hoặc find_all sự tuyên bố nhỏ gọn là không cần thiết, vì vậy nó sẽ nhanh hơn một chút. – acoffman

0

Tôi muốn sử dụng Enumerable # chọn Docs

results = my_array.select do |item| 
    item[:parent_id] == 55 
end 
Các vấn đề liên quan