2014-02-28 84 views
1

我有這兩個數組合併兩個數組一起

Hotel = 'hilton', 'marriot' 
Price = '$350', '$375' 

我怎麼會去兩個數組合並在一起,使得價格一鍵酒店。

所以,當我訪問

Price[0] 

它輸出

'$350' => 'hilton' (or however the correct output should be) 

回答

4

做如下使用Array#zipHash::[]

Hotel = 'hilton', 'marriot' 
Price = '$350', '$375' 
Hash[Price.zip(Hotel)] 
# => {"$350"=>"hilton", "$375"=>"marriot"} 

但爲了滿足您的發佈說明:

Hotel = 'hilton', 'marriot' 
Price = '$350', '$375' 
array_of_hash = Price.each_index.map { |i| { Price[i] => Hotel[i]} } 
# => [{"$350"=>"hilton"}, {"$375"=>"marriot"}] 
array_of_hash[0] # => {"$350"=>"hilton"} 

現在選擇,無論哪種方式適合您的需要。

+1

正是我在找的東西。 – Seal

+1

'array_of_hash = Price.zip(Hotel).map {| a |哈希[* a]}'擺脫難看的索引。 –

+0

@CarySwoveland太好了, –