Witam
Mam takiego hasha
{"20"=>"0", "3"=>"1", "4"=>"0", "10"=>"0", "21"=>"1", "5"=>"0"}
są to pary id, value
Jak zmienić to na tablice która będzie zawierała tylko te id których value = 1? Jest na to jakaś sprytna szybka metoda czy skakać po hashu sprawdzać czy value = 1, a jeżeli tak to dodawać id do tablicy?
Pozdrawiam
chyba tylko skakać :
h={"20"=>"0", "3"=>"1", "4"=>"0", "10"=>"0", "21"=>"1", "5"=>"0"} h.collect { |k,v| k if v == "1" }.compact
a może skorzystać z delete_if / reject ?
Można, ale l0pez chce jeszcze to przerobić na tablicę kluczy.
Albo tak:
h.keys.find_all {|k| h[k] == "1"}