2012-01-19 16 views

Odpowiedz

10

Aby znaleźć indeks:

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

Aby znaleźć przedmiot:

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

powinien wykonać zadanie. Najpierw zbierz wszystkie elementy pasujące do twoich kryteriów w nowej tablicy, a następnie usuń elementy fałszywie dodatnie (zero).

+0

Jeśli wystarczy użyć wybierz lub find_all instrukcja kompaktowa nie jest potrzebna, więc powinna być nieco szybsza. – acoffman

0

użyję Enumerable # Wybór Docs

results = my_array.select do |item| 
    item[:parent_id] == 55 
end 
Powiązane problemy