Konvertieren Sie Array in Ruby in Hash
Stewart Nguyen
21 Juni 2023
-
Verwenden Sie
Array.to_h
, um Array in Ruby in Hash umzuwandeln -
Verwenden Sie
Hash::[]
, um Array in Ruby in Hash umzuwandeln
In diesem Artikel wird kurz die Lösung zum Konvertieren des folgenden Arrays erläutert:
['key1', 'value1', 'key2', 'value2']
in einen Hash mit folgendem Format:
{ 'key1' => 'value1', 'key2' => 'value2' }
Verwenden Sie Array.to_h
, um Array in Ruby in Hash umzuwandeln
Ruby Version 2.1.10 führte eine neue Methode, to_h
auf dem Array ein, die ein Array mit 2 Elementen in einen Hash interpretiert.
Code:
[['key1', 'value1'], ['key2', 'value2']].to_h
Wir müssen zuerst unser ursprüngliches Array in ein 2-Element-Array konvertieren.
Code:
['key1', 'value1', 'key2', 'value2'].each_slice(2).to_a
Ausgang:
[["key1", "value1"], ["key2", "value2"]]
Kombinieren Sie alles mit 1-zeiliger Version.
Code:
['key1', 'value1', 'key2', 'value2'].each_slice(2).to_a.to_h
Ausgang:
{ "key1"=>"value1", "key2"=>"value2" }
Verwenden Sie Hash::[]
, um Array in Ruby in Hash umzuwandeln
Hash::[]
akzeptiert eine Liste von Argumenten. Die Nummer dieser Liste sollte gerade sein, sonst wird ein Fehler ausgelöst.
Hash::[]
wandelt die Liste in einen Hash um, wobei ungerade Argumente die Schlüssel und gerade Argumente die Werte sind.
Code:
Hash['key1', 'value1', 'key2', 'value2']
Ausgang:
{"key1"=>"value1", "key2"=>"value2"}