我有一个mysql查询,它返回这种类型的数据:
{"id"=>1, "serviceCode"=>"1D00", "price"=>9.19}
{"id"=>2, "serviceCode"=>"1D01", "price"=>9.65}
我需要根据
id
的匹配返回serviceCode
字段。即我需要这样的方法
def findID(serviceCode)
find the row that has the service code and return the ID
end
我当时正在考虑使用
serviceCodes.each do |row|
方法并遍历并从本质上讲if row == serviceCode
return row['id']
end
有没有更快/更简单的方法?
最佳答案
您可以使用方法Enumerable#find
:
service_codes = [
{"id"=>1, "serviceCode"=>"1D00", "price"=>9.19},
{"id"=>2, "serviceCode"=>"1D01", "price"=>9.65}
]
service_codes.find { |row| row['serviceCode'] == '1D00' }
# => {"id"=>1, "serviceCode"=>"1D00", "price"=>9.19}
关于mysql - 在 ruby 数组中查找行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25747685/