我试图过滤基于另一个数组的哈希数组。做到这一点的最佳方法是什么?这是我目前所使用的2种蛮兽:
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
这是我想要的输出:
[{dis:2,as:"li"}]
最佳答案
如果只想选择:dis
中包含x
值的元素:
y.select{|h| x.include? h[:dis]}