Ich versuche, ein Array von Hashes basierend auf einem anderen Array zu filtern. Was ist der beste Weg, dies zu erreichen? Hier ist die 2 brut Ich habe jetzt:Ruby - Filtern von Arrays von Hashes basierend auf einem anderen Array
x=[1,2,3]
y = [{dis:4,as:"hi"},{dis:2,as:"li"}]
1) aa = []
x.each do |a|
qq = y.select{|k,v| k[:dis]==a}
aa+=qq unless qq.empty?
end
2) q = []
y.each do |k,v|
x.each do |ele|
if k[:dis]==ele
q << {dis: ele,as: k[:as]}
end
end
end
Hier ist die Ausgabe mir die Absicht:
[{dis:2,as:"li"}]
Was ist Ihre gewünschte Ausgabe? –
@MarkThomas aktualisiert – linuxNoob