2016-03-21 82 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