2016-03-21 85 views
0

我有这些阵列。我只想从@teachers数组中选择:teacher值的实例,并将它们放入@filtered_courses从基于来自其他阵列的值的散列阵列中选择

@teachers = ["KAP", "CWD"] 
@courses = [ 
    {:gruppnamn=>"ESM15/15MUSINS01Str", :kurskod=>"MUSINS01S", :teacher=>"MWN", :class=>"ESM15", :points=>100.0, :kvot=>nil, :tim=>nil}, 
    {:gruppnamn=>"ESM15/15MUSMUS01", :kurskod=>"MUSMUS01", :teacher=>"KAP", :class=>"ESM15", :points=>100.0, :kvot=>nil, :tim=>nil}, 
    {:gruppnamn=>"Hälsostudion/15år2", :kurskod=>"IDRIDR01", :teacher=>"CWD", :class=>"ESSA", :points=>100.0, :kvot=>nil, :tim=>nil} 
] 
+1

的方法选择某些元素从一个阵列被称为['select'](http://ruby-doc.org/core-2.3.0/Array。 html#method-i-select) – Stefan

回答

3

尝试:

@filtered_courses = @courses.select { |x| @teachers.include? x[:teacher] } 
# => [{:gruppnamn=>"ESM15/15MUSMUS01", :kurskod=>"MUSMUS01", :teacher=>"KAP", :class=>"ESM15", :points=>100.0, :kvot=>nil, :tim=>nil}, 
#  {:gruppnamn=>"Hlsostudion/15r2", :kurskod=>"IDRIDR01", :teacher=>"CWD", :class=>"ESSA", :points=>100.0, :kvot=>nil, :tim=>nil}] 
+0

谢谢!解决了! – Petter