所以我有以下哈希/数组:
{"number"=>[{"tracking"=>"1Z81E74W0393736553", "notes"=>"Example note"}, {"tracking"=>"9102901001301227214058"}]}
{"number"=>{"tracking"=>"1Z81E74W0393736553", "notes"=>"Example note"}}
第一个哈希有一个number
数组,而第二个没有。{/ p>
它正在试图循环数据(特别是只有一个跟踪/注释组合时)。
最终我希望能够在每个跟踪/备注组合上执行each
循环。
答案 0 :(得分:2)
h1={"number"=>[{"tracking"=>"1Z81E74W0393736553", "notes"=>"Example note"}, {"tracking"=>"9102901001301227214058"}]}
h2={"number"=>{"tracking"=>"1Z81E74W0393736553", "notes"=>"Example note"}}
[h1["number"]].flatten
=> [{"notes"=>"Example note", "tracking"=>"1Z81E74W0393736553"}, {"tracking"=>"9102901001301227214058"}]
[h2["number"]].flatten
=> [{"notes"=>"Example note", "tracking"=>"1Z81E74W0393736553"}]
现在,每个都是一个哈希数组,您可以使用each
来迭代它们。
答案 1 :(得分:1)
这样的东西?
hash["number"] = [ hash["number"] ] unless hash["number"].kind_of?(Array)