0

Rubyには4つの配列があります

array1 = ["label1.1", "label1.2", "label1.3", "label1.4"]
array2 = ["data1.1", "data1.2", "data1.3", "data1.4"]

array3 = ["label2.1", "label2.2", "label2.3", "label2.4"]
array4 = ["data2.1", "data2.2", "data2.3", "data2.4"]

私がする必要があるのは、ハッシュ検索の結果配列を取得することです

[ {key1=>"label1.1", value1=>"data1.1" }, 
  {key1=>"label1.2", value1=>"data1.2" },
  {key1=>"label1.3", value1=>"data1.3" },
  {key1=>"label1.4", value1=>"data1.4" },

  {key1=>"label2.1", value1=>"data2.1" },
  {key1=>"label2.2", value1=>"data2.2" },
  {key1=>"label2.3", value1=>"data2.3" },
  {key1=>"label2.4", value1=>"data2.4" }
]

あなたの考え?

4

2 に答える 2

3
(array1 + array3).zip(array2 + array4).map {|k, v| { key1: k, value1: v } }
于 2012-09-01T13:42:04.327 に答える
2

これよりも単純で短いものを取得することはできません:

your_hash = Hash[(array1 + array3).zip(array2 + array4)]

あなたにあげる:

=> {"label1.1"=>"data1.1", "label1.2"=>"data1.2", "label1.3"=>"data1.3", "label1.4"=>"data1.4", "label2.1"=>"data2.1", "label2.2"=>"data2.2", "label2.3"=>"data2.3", "label2.4"=>"data2.4"}
于 2012-09-01T13:46:22.737 に答える