Arrays 用哈希表值填充数组

Arrays 用哈希表值填充数组,arrays,ruby,Arrays,Ruby,我对ruby是新手。我想知道是否有简单的方法可以做到以下几点: 我有一个多维数组=[[10,12],[15,10]] 我想用哈希表中的值填充它,他的键对应于数组中的项 hash: 10 - [501, 600] 12 - [700] 15 - [101,103] 我实际上想要所有的组合,输出应该是: array=[[501700]、[600700]、[101501]、[103600]] 我试着这样做: dimensions = [[10,12], [15,10]] mapping = {

我对ruby是新手。我想知道是否有简单的方法可以做到以下几点: 我有一个多维数组=[[10,12],[15,10]] 我想用哈希表中的值填充它,他的键对应于数组中的项

hash:
10 - [501, 600]
12 - [700]
15 - [101,103]
我实际上想要所有的组合,输出应该是:
array=[[501700]、[600700]、[101501]、[103600]]


我试着这样做:

dimensions = [[10,12], [15,10]]

mapping = {
  10 => [501, 600],
  12 => [700, 700],
  15 => [101, 103]
}

results = dimensions.map do |dimension_1, dimension_2|
  values_1 = mapping[dimension_1]
  values_2 = mapping[dimension_2]

  values_1.zip values_2
end.flatten(1)


p results
# returns: [[501, 700], [600, 700], [101, 501], [103, 600]]

我唯一改变的是,我复制了输入中的700值,以对齐数组大小,使其简化一点

您的散列不是散列。我们需要查看您为解决此问题而编写的代码,以及对其不起作用的原因的解释。堆栈溢出有助于解决问题,我们不是来为您编写代码的。请读“。