Arrays 遍历散列数组

Arrays 遍历散列数组,arrays,ruby,loops,hash,iteration,Arrays,Ruby,Loops,Hash,Iteration,我有一个像这样的杂烩 h = {"name"=>"United States House of Representatives TX-21", "divisionId"=>"ocd-division/country:us/state:tx/cd:21", "levels"=>["country"], "roles"=>["legislatorLowerBody"], "officials"=>[{"name"=>"Lam

我有一个像这样的杂烩

h = {"name"=>"United States House of Representatives TX-21",
     "divisionId"=>"ocd-division/country:us/state:tx/cd:21",
     "levels"=>["country"],
     "roles"=>["legislatorLowerBody"],
     "officials"=>[{"name"=>"Lamar Smith",
                    "address"=>[
                      {"line1"=>"2409 rayburn house office building",
                       "city"=>"washington",
                       "state"=>"DC",
                       "zip"=>"20515"
                      }
                    ],
                    "party"=>"Republican",
                    "phones"=>["(202) 225-4236"],
                    "urls"=>["http://lamarsmith.house.gov/"],
                    "photoUrl"=>"http://...",
                    "channels"=>[
                      {"type"=>"Facebook", "id"=>"LamarSmithTX21"},
                      {"type"=>"Twitter", "id"=>"LamarSmithTX21"},
                      {"type"=>"YouTube", "id"=>"lamarsmithtexas21"}
                    ]
                   }
                  ]
    }

我正在尝试执行一个
if
语句,如果
级别
散列==
国家
,则将此数组推入另一个名为
@nationalOffices
的数组。问题是哈希值的级别是数组。我不知道该怎么做。如果您有任何建议,我们将不胜感激。

您可以通过深入了解哈希来访问它,例如
数组[0][“levels”]
。您可能需要将此API响应保存在一个变量中,然后按自己的方式进行处理。

如果你想了解更多关于散列和数组的知识,这是一个非常好的教程:

@nationalOffices我重新格式化了你的散列(不是数组)以便理解它,但我对你的最后一段没有做任何处理,因为我不理解它。当你举一个例子时,你应该做三件事:1。把例子的篇幅缩小到表达观点所需的最小限度;2.显示您的预期或期望输出;三,。为每个输入对象分配一个变量(例如,
h={…}
,就像我上面所做的那样),这样读者就可以在答案和注释中引用这些变量(这里是
h
),而无需对它们进行定义。这里使用单词数组的方式很混乱。这是一个数组中的多个哈希吗?当你说“将此数组推入另一个数组”时,你的意思是将此哈希推入
@nationalOffices
?提供更多有关您正在使用的实际数据的上下文。