我有3个阵列:min
,max
和regions
。我想为每个region
创建一个带有相应min
和max
值的哈希值。像这样:
regions=["Region 1","Region 2",....]
min=["100","200",...]
max=["500","300",...]
#=> {"Region1"=>["100", "500"], "Region 2"=>["200", "300"], ...}
这是我的代码:
@min = params[:min]
@max = params[:max]
@regions = params[:regions]
到目前为止,我已尝试过此操作,但无效:
@range_map = Hash[@regions.map{|r| [r, [@min.each.to_i,@max.each.to_i]]}]
我想要的只是来自3个数组的散列,而min和max被转换为 整数 。
答案 0 :(得分:5)
range_map = regions.zip([min.map(&:to_i), max.map(&:to_i)].transpose).to_h
#=> {"Region1"=>[100, 500], "Region2"=>[200, 300]}