ruby - 遍历包含键/数组值对的哈希,并遍历每个值

时间:2016-04-26 01:07:46

标签: ruby

我有一个看起来像这样的哈希:

{
  "key1": [
     "value1",
     "value2",
     "value3"
  ],
  "key2": [
     "value1",
     "value2",
     "value3",
     "value4",
     "value5"
  ],
  "key3": [
     "value1"
  ],
  "key4": [
     "value1",
     "value2"
  ]
}

如何迭代每个keyN,同时循环遍历该键中的所有值?

如果有帮助的话,我有一个包含所有键的数组。

由于

4 个答案:

答案 0 :(得分:9)

非常简单,真的:

hash.each do |name, values|
  values.each do |value|
    # ...
  end
end

您可以使用最低级别的namevalue执行任何操作。

答案 1 :(得分:2)

你可以这样做:

hash.each do |key, array|
  array.each do |value|
    # do something
  end
end

答案 2 :(得分:1)

hash.each do |key_N, values_N|
  values_N.each so |values|
  .
  .
  #YourCode
  .
  .
  end
end

答案 3 :(得分:1)

如果你确定数组的大小,你可以这样做,

ha = {:a => [1,2]}

ha.each do |k, (v1, v2)|
   p k
   p v1
   p v2
end

Output
:a
1
2