【发布时间】:2017-03-31 10:44:20
【问题描述】:
我有两个哈希数组 - car_model 和 car_cc 如下。对于car_model 中的每个哈希,我需要查找cc 键并将其添加到car_model。
car_model = [
{state: "MH", regno: 5555, model: "alto"},
{state: "MH", regno: 5566, model: "alto"},
{state: "DL", regno: 5555, model: "prius"},
{state: "DL", regno: 5567, model: "nano"}
]
car_cc = [
{state: "MH", regno: 5555, cc: 999},
{state: "MH", regno: 5588, cc: 1800},
{state: "DL", regno: 5555, cc: 1119},
{state: "DL", regno: 5567, cc: nil}
]
现在我使用常规的.each 循环来查找car_cc 中的cc 键并将其添加到car_model 中的每个项目中。
car_model.each do |cm|
car_cc.each do |cc|
if(cm["state"]==cc["state"] && cm["regno"]==cc["regno"])
cm["cc"] = cc["cc"]
break
end
end
end
预期产出
puts car_model
{:state=>"MH", :regno=>5555, :model=>"alto", :cc=>999}
{:state=>"MH", :regno=>5566, :model=>"alto", :cc=>nil}
{:state=>"DL", :regno=>5555, :model=>"prius", :cc=>1119}
{:state=>"DL", :regno=>5567, :model=>"nano", :cc=>nil}
=> nil
irb(main):008:0>
有没有更有效的方法——更快、更红宝石?
【问题讨论】: